Почему у меня медленный первоначальный ответ, используемый сервером Active Directory? - PullRequest
0 голосов
/ 03 апреля 2012

Соединение с указанным сервером Active Directory в DMZ (т.е. не в домене), через порт 636 с использованием DirectoryEntry, затем извлечение атрибутов с использованием 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 может выполнять поиск сертификата на сервере AD по CRL, но не получает ответ. Затем последующие запросы принимают этот ответ до истечения времени ожидания процесса, поэтому следующий запрос снова займет 22-25 секунд.

Является ли тип соединения, который я описал в моем примере кода, на самом деле извлекает сертификат, или трафик просто отправляется через порт в зашифрованном виде, без установления связи между серверами относительно сертификата?

Обязательно ли для IIS иметь сертификат, чтобы это работало? Я должен сказать, что я использую этот шаблон: http://forums.asp.net/p/907421/1007517.aspx.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

Когда вы используете порт 636, используется LDAP через SSL,

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

Если вы используете Microsoft Network Monitor или Wireshark для захвата пакетов, вы можете получить больше информации о пакетеlevel.

В этом случае необходим CRL, так как он включен по умолчанию.Но вы можете отключить его на уровне компьютера или приложения:

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

0 голосов
/ 03 апреля 2012

SSL здесь не задействован.

Как выглядит serverPath? Вы, вероятно, рассчитываете на что-то - DNS возможно. Я бы начал с трассировки сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...