C# 对于使用HttpModule的非本地网络请求,需要IIS中的客户端证书

C# 对于使用HttpModule的非本地网络请求,需要IIS中的客户端证书,c#,iis,httpmodule,certificate,C#,Iis,Httpmodule,Certificate,我需要在IIS中的站点上为任何不是来自本地网络的请求提供客户端证书。任何本地请求都不应要求客户端证书。在IIS中是否有这样做的方法?我正在考虑将IIS配置为允许客户端证书,但不需要客户端证书,然后使用一个自定义的HttpModule来检查原始IP地址,并从本地网络中回退任何不包含客户端证书的内容 这样行吗?您将如何解决这个问题?我有几种方法可以解决这个问题。您可以选择您喜欢的: 复制站点。其中一个应该需要客户端SSL,而另一个则不需要。第二个应该禁用外部访问 为本地计算机安装客户端ssl。这可能

我需要在IIS中的站点上为任何不是来自本地网络的请求提供客户端证书。任何本地请求都不应要求客户端证书。在IIS中是否有这样做的方法?我正在考虑将IIS配置为允许客户端证书,但不需要客户端证书,然后使用一个自定义的HttpModule来检查原始IP地址,并从本地网络中回退任何不包含客户端证书的内容


这样行吗?您将如何解决这个问题?

我有几种方法可以解决这个问题。您可以选择您喜欢的:

  • 复制站点。其中一个应该需要客户端SSL,而另一个则不需要。第二个应该禁用外部访问

  • 为本地计算机安装客户端ssl。这可能是最简单的,除非您在获取客户端证书时遇到一些基础结构问题

  • 当IIS需要客户端SSL时,它会使用“需要客户端SSL”类型的消息响应所有HTTP请求。然后,客户端(如浏览器)通过传递所需证书更新其请求(如显示证书的IE对话框)。您可以使用HttpModule为本地请求捕获这些消息