Apache 模块 mod_ldap

Description:LDAP 连接池和结果缓存服务,供其他 LDAP 模块使用
Status:Extension
Module Identifier:ldap_module
Source File:util_ldap.c

Summary

创建此模块是为了提高依赖于与 LDAP 服务器的后端连接的网站的性能。除了标准 LDAP 库提供的功能外,该模块还添加了 LDAP 连接池和 LDAP 共享内存缓存。

要启用此模块,必须将 LDAP 支持编译到 apr-util 中。这是通过在构建 Apache 时在configure脚本中添加--with-ldap标志来实现的。

SSL/TLS 支持取决于已将哪个 LDAP 工具箱链接到APR。在撰写本文时,APR-util 支持:OpenLDAP SDK(2.x 或更高版本),Novell LDAP SDKMozilla LDAP SDK,本地 Solaris LDAP SDK(基于 Mozilla)或本地 Microsoft LDAP SDK。有关详细信息,请参见APR网站。

Example Configuration

以下是使用mod_ldap来提高mod_authnz_ldap提供的 HTTP Basic 身份验证性能的示例配置。

# 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>

LDAP 连接池

LDAP 连接在请求之间进行池化。这允许 LDAP 服务器保持连接状态并为下一个请求做好绑定准备,而无需取消绑定/连接/重新绑定。性能优势类似于 HTTP Keepalive 的效果。

在繁忙的服务器上,许多请求可能会尝试同时访问同一 LDAP 服务器连接。在使用 LDAP 连接的地方,Apache 将在原始连接的旁边创建一个新连接。这样可以确保连接池不会成为瓶颈。

无需在 Apache 配置中手动启用连接池。使用此模块访问 LDAP 服务的任何模块都将共享连接池。

LDAP 连接可以跟踪绑定到 LDAP 服务器时使用的 ldap Client 端凭据。可以将这些凭据提供给 LDAP 服务器,这些服务器在引用跟踪期间不允许匿名绑定。要控制此功能,请参见LDAPReferralsLDAPReferralHopLimit指令。默认情况下,启用此功能。

LDAP Cache

为了提高性能,mod_ldap使用积极的缓存策略来最大程度地减少必须联系 LDAP 服务器的次数。当 Apache 服务受 mod_authnz_ldap 保护的页面时,缓存可以轻松使 Apache 的吞吐量增加一倍或两倍。此外,LDAP 服务器上的负载将大大减少。

mod_ldap在* search/bind 缓存的搜索/绑定阶段以及在两个 operation 缓存*的比较阶段,支持两种类型的 LDAP 缓存。服务器使用的每个 LDAP URL 都有自己的这三个高速缓存集。

搜索/绑定缓存

进行搜索然后进行绑定的过程是 LDAP 操作最耗时的方面,尤其是在目录很大的情况下。搜索/绑定缓存用于缓存所有导致成功绑定的搜索。否定结果(,即,搜索失败或未成功绑定的搜索)不会被缓存。该决定的基本原理是具有无效凭据的连接仅占连接总数的一小部分,因此,通过不缓存无效凭据,可以减少缓存的大小。

mod_ldap将用户名,检索到的 DN,用于绑定的密码以及绑定时间存储在缓存中。每当使用相同的用户名启动新连接时,mod_ldap就会将新连接的密码与缓存中的密码进行比较。如果密码匹配,并且高速缓存的条目不太旧,则mod_ldap绕过搜索/绑定阶段。

搜索和绑定缓存由LDAPCacheEntriesLDAPCacheTTL指令控制。

Operation Caches

在属性和专有名称比较功能期间,mod_ldap使用两个操作缓存来缓存比较操作。第一个比较缓存用于缓存为测试 LDAP 组成员身份而进行的比较结果。第二个比较缓存用于缓存可分辨名称之间完成的比较结果。

请注意,在检查组成员身份时,将缓存任何子组比较结果,以加快将来的子组比较。

这两个缓存的行为均由LDAPOpCacheEntriesLDAPOpCacheTTL指令控制。

监视缓存

mod_ldap具有内容处理程序,Management 员可以使用该内容处理程序监视缓存性能。内容处理程序的名称为ldap-status,因此可以使用以下指令访问mod_ldap缓存信息:

<Location "/server/cache-info">
    SetHandler ldap-status
</Location>

通过获取 URL http://servername/cache-info,Management 员可以获取mod_ldap缓存使用的每个缓存的状态报告。请注意,如果 Apache 不支持共享内存,则每个httpd实例都有其自己的缓存,因此,根据哪个httpd实例处理请求,每次重新加载 URL 都会产生不同的信息。

Using SSL/TLS

创建到 LDAP 服务器的 SSL 和 TLS 连接的能力由指令LDAPTrustedGlobalCertLDAPTrustedClientCertLDAPTrustedMode定义。这些指令指定要使用的 CA 和可选 Client 端证书,以及在连接上要使用的加密类型(无,SSL 或 TLS/STARTTLS)。

# 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>
# 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>

SSL/TLS Certificates

不同的 LDAP SDK 设置和处理 CA 和 Client 端证书的方法大不相同。

如果打算使用 SSL 或 TLS,请仔细阅读本节,以了解所支持的不同 LDAP 工具箱上的配置之间的差异。

Netscape/Mozilla/iPlanet SDK

CA 证书在名为 cert7.db 的文件中指定。 SDK 不会与证书未由此文件中指定的 CA 签名的任何 LDAP 服务器通信。如果需要 Client 端证书,则可以使用可选密码指定可选的 key3.db 文件。如果需要,可以指定 secmod 文件。这些文件与 Netscape Communicator 或 Mozilla Web 浏览器使用的格式相同。获取这些文件的最简单方法是从浏览器安装中获取它们。

通过使用 LDAPTrustedClientCert 伪指令,通过引用证书“昵称”来为每个连接指定 Client 端证书。可以指定一个可选密码来解锁证书的私钥。

SDK 仅支持 SSL。尝试在运行时联系 LDAP 服务器时,尝试使用 STARTTLS 将导致错误。

# 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>

Novell SDK

必须指定一个或多个 CA 证书,Novell SDK 才能正常工作。这些证书可以指定为二进制 DER 或 Base64(PEM)编码的文件。

注意:Client 端证书是全局指定的,而不是每个连接指定的,因此必须使用 LDAPTrustedGlobalCert 指令指定,如下所示。尝试通过 LDAPTrustedClientCert 指令设置 Client 端证书时,尝试连接到 LDAP 服务器时将导致记录错误。

SDK 支持 SSL 和 STARTTLS(使用 LDAPTrustedMode 参数设置)。如果指定了 ldaps:// URL,则强制使用 SSL 模式,请覆盖此伪指令。

# 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"

OpenLDAP SDK

必须指定一个或多个 CA 证书,OpenLDAP SDK 才能正常工作。这些证书可以指定为二进制 DER 或 Base64(PEM)编码的文件。

CA 证书和 Client 端证书都可以全局指定(LDAPTrustedGlobalCert)或按连接指定(LDAPTrustedClientCert)。如果为每个连接指定了任何设置,则将取代全局设置。

SDK 的文档声称支持 SSL 和 STARTTLS,但是 STARTTLS 似乎不适用于所有版本的 SDK。可以使用 LDAPTrustedMode 参数设置 SSL/TLS 模式。如果指定 ldaps:// URL,则强制使用 SSL 模式。 OpenLDAP 文档指出,不建议使用 SSL(ldaps://)支持,以 TLS 代替,尽管 SSL 功能仍然有效。

# 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>

Solaris SDK

尚不支持本机 Solaris LDAP 库的 SSL/TLS。如果需要,请安装并使用 OpenLDAP 库。

Microsoft SDK

本机 Microsoft LDAP 库的 SSL/TLS 证书配置是在系统注册表中完成的,不需要任何配置指令。

通过使用 ldaps:// URL 格式或相应地使用 LDAPTrustedMode 指令,可以同时支持 SSL 和 TLS。

注意:此工具包尚不支持 Client 端证书的支持状态。

LDAPCacheEntries Directive

Description:主 LDAP 缓存中的最大条目数
Syntax:LDAPCacheEntries number
Default:LDAPCacheEntries 1024
Context:server config
Status:Extension
Module:mod_ldap

指定主 LDAP 缓存的最大大小。此缓存包含成功的搜索/绑定。将其设置为 0 可关闭搜索/绑定缓存。默认大小是 1024 个缓存的搜索。

LDAPCacheTTL Directive

Description:缓存项目保持有效的时间
Syntax:LDAPCacheTTL seconds
Default:LDAPCacheTTL 600
Context:server config
Status:Extension
Module:mod_ldap

指定搜索/绑定缓存中的项目保持有效的时间(以秒为单位)。默认值为 600 秒(10 分钟)。

LDAPConnectionPoolTTL Directive

Description:丢弃一直位于连接池中的后端连接
Syntax:LDAPConnectionPoolTTL n
Default:LDAPConnectionPoolTTL -1
Context:服务器配置,虚拟主机
Status:Extension
Module:mod_ldap
Compatibility:Apache HTTP Server 2.3.12 及更高版本

指定池中的 LDAP 连接可以保持空闲并且仍然可以使用的最长期限(以秒为单位)。下次需要连接时会清理连接,而不是异步的。

设置为 0 会使连接永远不会保存在后端连接池中。默认值-1 和其他任何负值都允许重用任何年龄的连接。

出于性能原因,此伪指令使用的参考时间基于 LDAP 连接返回池的时间,而不是上一次与 LDAP 服务器成功进行 I/O 的时间。

从 2.4.10 版本开始,采取了新的措施来避免由于缓存命中或请求缓慢而增加参考时间。首先,如果不需要后端 LDAP 连接,则不会更新参考时间。其次,参考时间使用接收 HTTP 请求的时间而不是请求完成的时间。

Note

该超时默认为秒单位,但接受后缀毫秒(ms),分钟(min)和小时(h)。

LDAPConnectionTimeout Directive

Description:指定套接字连接超时(以秒为单位)
Syntax:LDAPConnectionTimeout seconds
Context:server config
Status:Extension
Module:mod_ldap

如果存在,此伪指令在基础 LDAP Client 端库中配置 LDAP_OPT_NETWORK_TIMEOUT(或 LDAP_OPT_CONNECT_TIMEOUT)选项。该值通常控制 LDAP Client 端库 await 与 LDAP 服务器的 TCP 连接完成的时间。

如果在超时期限内连接失败,则将返回错误或 LDAP Client 端库尝试连接到辅助 LDAP 服务器(如果已指定)(通过AuthLDAPURL中以空格分隔的主机名列表)。

如果与服务器链接的 LDAP Client 端库支持 LDAP_OPT_NETWORK_TIMEOUT 选项,则默认值为 10 秒。

Note

LDAPConnectionTimeout 仅在与服务器链接的 LDAP Client 端库支持 LDAP_OPT_NETWORK_TIMEOUT(或 LDAP_OPT_CONNECT_TIMEOUT)选项时可用,并且最终行为完全由 LDAP Client 端库决定。

LDAPLibraryDebug Directive

Description:在 LDAP SDK 中启用调试
Syntax:LDAPLibraryDebug 7
Default:disabled
Context:server config
Status:Extension
Module:mod_ldap

打开特定于 SDK 的 LDAP 调试选项,这些选项通常会使 LDAP SDK 将详细的跟踪信息记录到主 Apache 错误日志中。 LDAP SDK 中的跟踪消息提供了详细信息,这些细节在调试后端 LDAP 服务器的连接问题时非常有用

仅当 Apache HTTP Server 与实现LDAP_OPT_DEBUGLDAP_OPT_DEBUG_LEVEL的 LDAP SDK 链接时(例如 OpenLDAP(值为 7 表示详细)或 Tivoli Directory Server(值为 65535 表示详细)),才可以配置此选项。

Warning

记录的信息可能包含 LDAP 身份验证正在使用或验证的纯文本凭据,因此在使用此伪指令时,应注意保护和清除错误日志。

LDAPOpCacheEntries Directive

Description:用于缓存 LDAP 比较操作的条目数
Syntax:LDAPOpCacheEntries number
Default:LDAPOpCacheEntries 1024
Context:server config
Status:Extension
Module:mod_ldap

这指定mod_ldap将用于缓存 LDAP 比较操作的条目数。默认值为 1024 个条目。将其设置为 0 将禁用操作缓存。

LDAPOpCacheTTL Directive

Description:操作缓存中的条目保持有效的时间
Syntax:LDAPOpCacheTTL seconds
Default:LDAPOpCacheTTL 600
Context:server config
Status:Extension
Module:mod_ldap

指定操作缓存中的条目保持有效的时间(以秒为单位)。默认值为 600 秒。

LDAPReferralHopLimit Directive

Description:在终止 LDAP 查询之前要追查的最大引荐跃点数。
Syntax:LDAPReferralHopLimit number
Default:SDK dependent, typically between 5 and 10
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ldap

如果由LDAPReferrals指令启用,则该指令将限制终止 LDAP 查询之前遵循的引用跃点数。

Warning

在 LDAP SDK 中很少支持此可调参数。

LDAPReferrals Directive

Description:在查询 LDAP 服务器的过程中启用引用跟踪。
Syntax:LDAPReferrals On|Off|default
Default:LDAPReferrals On
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ldap
Compatibility:默认参数在 Apache 2.4.7 和更高版本中可用

某些 LDAP 服务器在多个域之间划分其目录,并在跨域边界时使用引用来定向 Client 端。这类似于 HTTP 重定向。默认情况下,LDAP Client 端库可能会也可能不会追踪引用。该指令在基础 SDK 中显式配置引用跟踪。

LDAPReferrals采用以下值:

  • "on"

    • 设置为“ on”时,将启用基础 SDK 的引用跟踪状态,使用LDAPReferralHopLimit覆盖 SDK 的跳数限制,并注册 LDAP 重新绑定回调。
  • "off"

    • 当设置为“ off”时,基础 SDK 的引用跟踪状态将完全禁用。
  • "default"

    • 设置为“默认”时,基础 SDK 的引用跟踪状态不会更改,LDAPReferralHopLimit不会覆盖 SDK 的跳数限制,并且不会注册 LDAP 重新绑定回调。

伪指令LDAPReferralHopLimit与此伪指令一起使用,以限制在终止 LDAP 查询之前要遵循的引用跃点数。当通过“ On”值启用引用处理时,将通过重新绑定回调为需要它们的任何 LDAP 服务器提供 Client 端凭据。

LDAPRetries Directive

Description:配置 LDAP 服务器重试次数。
Syntax:LDAPRetries number-of-retries
Default:LDAPRetries 3
Context:server config
Status:Extension
Module:mod_ldap

服务器将最多重试失败的 LDAP 请求LDAPRetries次。将此伪指令设置为 0 将禁用重试。

LDAP 错误(例如超时和拒绝连接)可以重试。

LDAPRetryDelay Directive

Description:配置 LDAP 服务器重试之间的延迟。
Syntax:LDAPRetryDelay seconds
Default:LDAPRetryDelay 0
Context:server config
Status:Extension
Module:mod_ldap

如果LDAPRetryDelay设置为非零值,则服务器将延迟重试 LDAP 请求指定的时间。将此伪指令设置为 0 将导致任何重试都不会延迟。

LDAP 错误(例如超时和拒绝连接)可以重试。

LDAPSharedCacheFile Directive

Description:设置共享内存缓存文件
Syntax:LDAPSharedCacheFile directory-path/filename
Context:server config
Status:Extension
Module:mod_ldap

指定共享内存缓存文件的目录路径和文件名。如果未设置,则在平台支持的情况下将使用匿名共享内存。

LDAPSharedCacheSize Directive

Description:共享内存缓存的大小(以字节为单位)
Syntax:LDAPSharedCacheSize bytes
Default:LDAPSharedCacheSize 500000
Context:server config
Status:Extension
Module:mod_ldap

指定要分配给共享内存缓存的字节数。默认值为 500kb。如果设置为 0,将不使用共享内存缓存,并且每个 HTTPD 进程将创建自己的缓存。

LDAPTimeout Directive

Description:指定 LDAP 搜索和绑定操作的超时(以秒为单位)
Syntax:LDAPTimeout seconds
Default:LDAPTimeout 60
Context:server config
Status:Extension
Module:mod_ldap
Compatibility:Apache HTTP Server 2.3.5 及更高版本

此伪指令配置绑定和搜索操作的超时以及基础 LDAP Client 端库中的 LDAP_OPT_TIMEOUT 选项(如果有)。

如果超时到期,则在防火墙以静默方式删除现有连接的情况下,httpd 将重试。但是,如果将防火墙配置为发送 TCP RST 数据包而不是静默丢弃数据包,则性能会好得多。

Note

ldap 比较操作的超时需要具有 LDAP_OPT_TIMEOUT 的 SDK,例如 OpenLDAP> = 2.4.4.

LDAPTrustedClientCert Directive

Description:设置包含每个别名 Client 端证书的文件或昵称。并非所有的 LDAP 工具包都支持每个连接 Client 端证书。
Syntax:LDAPTrustedClientCert type directory-path/filename/nickname [password]
Context:directory, .htaccess
Status:Extension
Module:mod_ldap

它指定在构建与 LDAP 服务器的 SSL 或 TLS 连接时使用的每个连接 Client 端证书的目录路径,文件名或昵称。不同的位置或目录可能具有自己的独立 Client 端证书设置。某些 LDAP 工具包(特别是 Novell)不支持按连接的 Client 端证书,如果尝试使用此指令,则会在 LDAP 服务器连接上引发错误(对于 Novell Client 端证书,请使用 LDAPTrustedGlobalCert 指令-请参阅上面的 SSL/TLS 证书指南有关详细信息)。该类型指定所设置的证书参数的类型,具体取决于所使用的 LDAP 工具箱。支持的类型为:

  • CA_DER-二进制 DER 编码的 CA 证书

  • CA_BASE64-PEM 编码的 CA 证书

  • CERT_DER-二进制 DER 编码的 Client 端证书

  • CERT_BASE64-PEM 编码的 Client 端证书

  • CERT_NICKNAME-Client 端证书“昵称”(Netscape SDK)

  • KEY_DER-二进制 DER 编码的私钥

  • KEY_BASE64-PEM 编码的私钥

LDAPTrustedGlobalCert Directive

Description:设置包含全局可信证书颁发机构或全局 Client 端证书的文件或数据库
Syntax:LDAPTrustedGlobalCert type directory-path/filename [password]
Context:server config
Status:Extension
Module:mod_ldap

它指定在构建与 LDAP 服务器的 SSL 或 TLS 连接时应使用的受信任 CA 证书和/或系统范围内的 Client 端证书mod_ldap的目录路径和文件名。请注意,使用此伪指令指定的所有证书信息将全局应用于整个服务器安装。某些 LDAP 工具包(特别是 Novell)要求使用此伪指令在全局范围内设置所有 Client 端证书。大多数其他工具箱都要求使用 LDAPTrustedClientCert 为每个目录或每个位置设置 Client 端证书。如果您遇到此错误,则尝试联系 LDAP 服务器时可能会记录错误,或者连接可能会静默失败(有关详细信息,请参见上面的 SSL/TLS 证书指南)。该类型指定所设置的证书参数的类型,具体取决于所使用的 LDAP 工具箱。支持的类型为:

  • CA_DER-二进制 DER 编码的 CA 证书

  • CA_BASE64-PEM 编码的 CA 证书

  • CA_CERT7_DB-Netscape cert7.db CA 证书数据库文件

  • CA_SECMOD-Netscape secmod 数据库文件

  • CERT_DER-二进制 DER 编码的 Client 端证书

  • CERT_BASE64-PEM 编码的 Client 端证书

  • CERT_KEY3_DB-Netscape key3.db Client 端证书数据库文件

  • CERT_NICKNAME-Client 端证书“昵称”(Netscape SDK)

  • CERT_PFX-PKCS#12 编码的 Client 端证书(Novell SDK)

  • KEY_DER-二进制 DER 编码的私钥

  • KEY_BASE64-PEM 编码的私钥

  • KEY_PFX-PKCS#12 编码的私钥(Novell SDK)

LDAPTrustedMode Directive

Description:指定连接到 LDAP 服务器时要使用的 SSL/TLS 模式。
Syntax:LDAPTrustedMode type
Context:服务器配置,虚拟主机
Status:Extension
Module:mod_ldap

支持以下模式:

  • 无-不加密

  • SSL-ldaps://:默认端口 636 上的加密

  • TLS-默认端口 389 上的 STARTTLS 加密

并非所有的 LDAP 工具包都支持上述所有模式。如果不支持某种模式,则会在运行时记录一条错误消息,并且与 LDAP 服务器的连接将失败。

如果指定了 ldaps:// URL,则该模式变为 SSL,并且 LDAPTrustedMode 的设置将被忽略。

LDAPVerifyServerCert Directive

Description:强制服务器证书验证
Syntax:LDAPVerifyServerCert On|Off
Default:LDAPVerifyServerCert On
Context:server config
Status:Extension
Module:mod_ldap

指定在构建与 LDAP 服务器的 SSL 连接时是否强制验证服务器证书。