IIS反向代理和原始服务器之间的客户端证书身份验证

时间:2019-11-19 13:20:28

标签: iis reverse-proxy mutual-authentication ssl-client-authentication

我对IIS还很陌生。我们需要使用IIS设置反向代理。现在,原始服务器/后端服务器可以在HTTP或HTTPS上。

我们已经在IIS上成功配置了相互身份验证,以使客户端需要SSL并出示客户端证书。

我们现在需要的是在IIS反向代理和原始服务器之间启用相互身份验证。如下所示:

----------                ---------------------                ----------
| Client | --- HTTPS ---> | IIS Reverse Proxy | --- HTTPS ---> | Origin |
----------                ---------------------                ----------

此设置要求与this question相似,只是问题使用的是Apache HTTPD。 IIS是否可以进行此设置?

任何参考链接/文档将不胜感激。

1 个答案:

答案 0 :(得分:0)

恐怕没有客户端,就不可能在本机ARR和原始服务器之间进行相互身份验证。因为我们找不到某种ProxyCertificate属性。

您只能通过以下链接来设置IIS ARR代理。然后,客户端将能够将客户端证书发送到ARR服务器,并且ARR将添加请求标头X-ARR-ClientCert以将客户端证书传递到您的原始服务器。

https://blogs.msdn.microsoft.com/benjaminperkins/2014/06/02/configure-application-request-routing-arr-with-client-certificates/

然后,您的原始服务器可以通过处理X-ARR-ClientCert标头或asp.net HttpRequest.ClientCertificate属性来处理身份验证。

https://docs.microsoft.com/en-us/azure/app-service/app-service-web-configure-tls-mutual-auth