我对客户端和服务器使用SSL相互身份验证。现在,我想添加一个反向代理。据我了解,反向代理服务器无法将客户端证书转发到后端Web服务器。我可以解决这个缺点吗?例如。我的反向代理可以将客户端信息发送到后端Web服务器,以便让我的服务器知道客户端正在使用什么证书吗?
我使用IIS 7.5。
最佳答案
如果您关心:是的,您可以:Piotr Walat在他的出色文章中解释了它是如何工作的。
http://www.piotrwalat.net/client-certificate-authentication-in-asp-net-web-api-and-windows-store-apps/
如果返回403.7
,请检查是否安装了客户端证书。
如果仍然无法正常工作,则您的CA列表可能太长(http://support.microsoft.com/kb/933430)。最简单的解决方案是在服务器注册表中的DWORD
下添加一个名为SendTrustedIssuerList的QWORD
(不是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
!)值,并将其设置为0
。这将完全阻止服务器发送列表,让客户端从任何已安装的客户端证书中进行选择。
关于iis - 使用反向代理的客户端证书身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22805705/