Apache 反向代理使用 LDAP 检查客户端证书 cn

Apache 反向代理使用 LDAP 检查客户端证书 cn

Apache 版本 2.4.29,Windows Server 2012 R2

刚刚开始使用 Apache,对它还很陌生。我使用 Apache 作为应用程序到应用程序 SOAP 通信的正向和反向代理。我已使用 SSL 相互身份验证设置了连接。目前尝试在反向代理上设置一种方法来根据 LDAP 目录检查客户端证书 cn,但我无法让它正常工作。

我制作的 C# 客户端应用程序可以连接到代理后面的服务,但是一旦我在 httpd-ssl 文件中添加 LDAP 配置更改,客户端应用程序就会返回错误:“HTTP 请求未获得客户端身份验证方案‘匿名’的授权。从服务器收到的身份验证标头是‘Basic realm="ApacheProxy"’。”

以下是我正在使用的配置。也许我遗漏了什么或做错了什么?我不太确定这是否能实现我的目标。

 <Location / > 

 AuthName "ApacheProxy" 
 AuthType Basic 
 AuthBasicProvider ldap 
 AuthLDAPURL "my_ldap_url" 
 AuthLDAPBindDN "cn=mycn,ou=applications,o=myo,c=myc" 
 AuthLDAPBindPassword mypassword 
 Require ldap-dn "cn=mycn,ou=applications,o=myo,c=myc" 
 LDAPReferrals Off 
 AuthLDAPCompareDNOnServer on 

 </Location> 

当我尝试从浏览器导航到反向代理时,它会提示登录。当我使用我的 LDAP 凭据时,什么都没有发生,但通过 Wireshark,我可以看到我与 LDAP 的连接成功了。我怀疑我的客户端应用程序因登录提示而出现问题。我想咨询社区,看看是否有解决方案可以在不提示登录的情况下对客户端证书 cn 进行 LDAP 检查。

总结一下并换一种说法,当应用程序到达 Apache 反向代理时,有没有办法自动登录到 LDAP 来检查客户端证书的 cn?

相关内容