【发布时间】:2020-04-20 23:45:29
【问题描述】:
我们的 ASP.NET Core 应用程序中有一些自定义客户端证书验证。它在独立运行时运行良好(即,仅使用 Kestrel 服务器)。但是,在生产中,我们希望在 Kestrel 前面有一个 IIS。不幸的是,IIS 执行了自己的验证/信任检查,并认为客户端证书无效(返回 403.16)。
如何克服这个问题?如何在 IIS 中禁用客户端证书验证 + 信任检查? IIS 应该简单地将客户端证书转发给我们,而不用做任何其他事情。我们明确不希望将客户端证书导入受信任的根存储区(或机器上的任何证书存储区)。
【问题讨论】:
-
您是否在IIS中启用了客户端证书认证或其他认证方式?您可以使用 IIS 管理控制台的身份验证图标来查看它。
-
不,我们没有。
-
@D.R.你有没有找到任何解决方案?我们面临同样的问题。
-
我们采取了不同的方式,但是,我的一位同事指出,编写我们自己的 IIS 模块或 IIS 处理程序可以解决问题。希望对您有所帮助!
标签: asp.net-core iis