我有一台 Windows 2008 服务器,其中有一个使用 WinHTTP 进行 SSL 会话的应用程序。该服务器与互联网隔离,但仍尝试连接到 CRL 分发点,这会导致一些超时。
由于服务器根本无法访问互联网,因此我想禁用 CRL 检查。
我在 Windows 2003 服务器上遇到了类似的问题,并通过调整以下注册表项解决了该问题:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Http/Parameters/SslBindiongInfo/0.0.0.0:443/DefaultSslCertCheckMode (DWORD=1)
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Rasman/PPP/EAP/13/NoRevocationCheck (DWORD = 1)
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Rasman/PPP/EAP/13/NoRootRevocationCheck (DWORD = 1)
这在 2008 中似乎不起作用。我也尝试在工具 >> Internet 选项 >> 高级下禁用 IE 的 CRL 检查。
还有什么我还可以尝试的吗?
答案1
我不知道,但是黑洞 crl 服务器有用吗?您可以将 127.0.0.1 crl.host.domainnaame 添加到 hosts 文件中。
另一个应用程序的示例如下:
安装 Exchange Server 2007 更新汇总后,Exchange Server 2007 托管代码服务不会启动
http://support.microsoft.com/kb/944752
答案2
我们发现,每当 IIS 工作进程进入睡眠状态时(默认情况下空闲时间为 20 分钟),当它醒来时,它会检查一大堆东西,而 CLR 就是其中一项检查。将空闲时间设置为 0 并在特定时间进行回收是解决此问题的最佳方法。
答案3
也许值得看看这个博客
http://www.page-house.com/blog/2009/04/how-to-disable-crl-checking.html
禁用 CRL 检查计算机范围控制面板 -> Internet 选项 -> 高级 -> 在安全下,取消选中检查发布者的证书吊销选项
禁用特定 .Net 应用程序的 CRL 检查请参阅此 Microsoft KB 文章:http://support.microsoft.com/kb/936707