diff options
Diffstat (limited to '')
-rw-r--r-- | docs/manual/mod/mod_ldap.html | 9 | ||||
-rw-r--r-- | docs/manual/mod/mod_ldap.html.en | 878 | ||||
-rw-r--r-- | docs/manual/mod/mod_ldap.html.fr.utf8 | 958 |
3 files changed, 1845 insertions, 0 deletions
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 |