我们已经开发了一个Web API应用程序,并且正在使用Mutual TLS V1.2进行身份验证。在INTG环境中,我们有两个服务器(X和Y),还有一个负载平衡器。通过负载平衡器服务器访问服务器X和Y。
如果请求发送到服务器Y,并且我通过了有效的INTG客户端证书,则通过单击Chrome浏览器中的客户端证书,我命中了一个Web Api Get请求URL,如果我通过了无效的客户端证书或其他,抛出401未经授权的环境(SYST)证书。这是正确的行为,在Y中工作正常。
但是在Server X中,如果我通过无效的证书,则会抛出401未经授权,但如果我通过SYST客户端证书,则它将正常工作,并且会收到200响应。 它在INTG环境中不应该接受SYST客户端证书,并且应该抛出401未经授权,但是它正在接受它,并且我得到200响应。
我验证了这两种服务器配置,所有内容看起来都一样,并且没有发现任何区别。
我通过在两个服务器中交替停止站点来确定此问题。
我们正在使用“ iisClientCertificateAuthenticationMapping”,并且已将“ manyToOneCertificateMappingsEnabled”设置为False,将“ oneToOneCertificateMapingsEnabled”设置为True,对于“ oneToOneMappings”,我已设置了用户名,密码和证书(base64string)。
请让我知道X服务器错误行为的可能原因是什么。
INTG服务器:
Server X
Server Y