为什么Active Directory服务器使用缓慢的初始响应?

时间:2012-04-03 18:32:32

标签: asp.net iis-7 active-directory

使用DirectoryEntry通过端口636连接到DMZ中的指定Active Directory服务器(即不在域中),然后使用DirectorySearcher提取属性。

字符串

string serverPath = "LDAP://some.domain.com:636/OU=XXXX,DC=xxxx,DC=xxxxxxxxx";
var searchRoot = new DirectoryEntry(
serverPath, 
User, 
Pass, 
AuthenticationTypes.Secure);

第一个查询非常慢,大约22-25秒。有人向我解释说,这可能是因为IIS 7.5可能会针对CRL在AD服务器上查找证书,但没有得到响应。然后,后续查询接受该答案,直到该过程超时,以便下一个查询将再次花费22-25秒。

我在代码示例中描述的连接类型是否实际上是拉取证书,还是流量只是通过端口以加密状态发送,而服务器之间没有相对于证书的握手?

我是否必须拥有证书才能使用此功能?我应该说我使用的是这种模式:http://forums.asp.net/p/907421/1007517.aspx

2 个答案:

答案 0 :(得分:0)

此处不涉及SSL。

serverPath看起来像什么?你可能正在尝试某些东西 - 也许是DNS。我从网络跟踪开始。

答案 1 :(得分:0)

使用端口636时,使用LDAP over SSL,

http://en.wikipedia.org/wiki/Ldap

如果您使用Microsoft网络监视器或Wireshark来捕获数据包,您可能会获得有关数据包级别的更多见解。

在这种情况下,CRL是必需的,因为它默认启用。但是你可以在机器或应用程序级别关闭它,

http://www.page-house.com/blog/2009/04/how-to-disable-crl-checking.html