IIS, CertCheckMode и наследование метабазы

Один из моих клиентов хочет избежать проверки списка отзыва сертификатов на одном из своих сайтов. Насколько я знаю, мы установили это значение (CertCheckMode) в 1 в метабазе IIS:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0c08d268-1634-4486-8382-b735e295b3aa.mspx?mfr=true

Проблема в том, что эта конфигурация не работает. Я использую IIS Metabase Explorer, чтобы увидеть эту конфигурацию. Он отображается нормально в папке W3SVC веб-сайта и унаследован в ROOT IIsVirtualDirectory и другом виртуальном каталоге (назовем его APP), в котором фактически находится приложение.

Приложение изолированно и выделено пулом. Если значение отображается в виртуальном каталоге, почему IIS все еще пытается получить CRL?

Большое спасибо, виртуальные сорта пива ждут решателей;)

2 ответа

Решение

Вы можете попробовать запустить команду cscript adsutil.vbs SET w3svc/n/CertCheckMode 1 где n - идентификатор веб-сайта. Дайте мне знать, если это поможет.

Даже если это старый пост, возможно, кто-то столкнется с этим.

Я столкнулся с подобной ситуацией. Через много времени убили

1) Параметр конфигурации CertCheckMode представляется применимым только для проверки сертификата клиента

2) .NET будет проверять строго подписанные сборки и генерировать свидетельства издателя - если эта функция включена (по умолчанию) каждый раз при перезапуске пула приложений, проверяются списки отзыва сертификатов. Если есть брандмауэр, который блокирует исходящий порт 80, приложение просто зависнет, пока не истечет время ожидания всех сайтов CRL (~3-5 минут)

Решение: а) включить исходящий порт 80 б) отключить генерацию свидетельства издателя:

Для этого:

В machine.config (!) Это не будет работать в (app|web).config

<configuration>
<runtime>    
     <generatePublisherEvidence> Element
        <generatePublisherEvidence  enabled="false"/>

В моем случае у меня была пустая <runtime/> тег в строке 127 файла machine.config

Другие вопросы по тегам