Iis 如果客户端证书设置为';接受';或';要求';

Iis 如果客户端证书设置为';接受';或';要求';,iis,iis-7,client-certificates,Iis,Iis 7,Client Certificates,我有一个带有.asmx入口点的web服务,我想使用客户端证书访问它。有一些内部逻辑检查请求中客户端证书的有效性,并确保它存在于本地机器的“受信任的人”证书存储中 在IIS中将.asmx文件设置为“接受”或“要求”客户端证书在我的本地开发人员框上可以正常工作,但在我们的QA机器上,服务器没有响应,我从另一端得到的唯一错误消息是“底层连接已关闭:接收时发生意外错误”。我真正不明白的是,即使是非ssl通信也开始失败 Wireshark报告服务器没有执行证书请求,这使我怀疑服务器的配置有问题,而不是客户

我有一个带有.asmx入口点的web服务,我想使用客户端证书访问它。有一些内部逻辑检查请求中客户端证书的有效性,并确保它存在于本地机器的“受信任的人”证书存储中

在IIS中将.asmx文件设置为“接受”或“要求”客户端证书在我的本地开发人员框上可以正常工作,但在我们的QA机器上,服务器没有响应,我从另一端得到的唯一错误消息是“底层连接已关闭:接收时发生意外错误”。我真正不明白的是,即使是非ssl通信也开始失败

Wireshark报告服务器没有执行证书请求,这使我怀疑服务器的配置有问题,而不是客户端证书有问题。IIS失败的请求跟踪仅显示由于线程退出或应用程序请求而中止了I/O操作,而没有任何堆栈跟踪或有用信息

我正在使用的客户端证书是从两台计算机的受信任根证书中的根创建的,服务器的证书也是有效的,并且在其有效期内。我可以访问服务器上的其他URL,而不会在浏览器中出现问题,也不会出现SSL错误

//接收时发生意外错误

//200,有效的SSL证书


在IIS中打开“接受”或“要求”客户端证书时,是否有人遇到过此类错误?对于我为运行我的服务的两个负载平衡服务器配置客户端证书的任何文件夹或应用程序来说,这似乎都是正确的。如果有任何帮助,我们将不胜感激。

好的,所以最后问题出在负载平衡器配置上。显然,netscaler自己在处理SSL握手,因此IIS的CertificateRequest从未发送到客户端(Wireshark没有找到CertificateRequest就是明证),相反,客户端发送的任何客户端证书从未发送到IIS

解决方案是在netscaler上将负载平衡协议从SSL更改为SSL_桥