我们有一个托管在 IIS 8 上的内部 Web 应用程序,它通过 HTTPS 公开一些 REST 服务。由于它被其他应用程序访问,因此我们需要客户端证书。由于客户端证书缺失或错误,我们遇到了一些身份验证失败的情况,但我们需要将它们记录为 Windows 事件,以便我们可以使用我们的监控基础架构。我们如何正确配置在 Windows Server 2012 上运行的 IIS 8,以转发客户端证书身份验证失败错误,以便它们出现在 Windows 事件中?是否需要安装和运行任何特殊的服务器功能才能使其正常工作?
答案1
据我所知,没有内置方法将任何与 IIS 请求相关的错误转发到 Windows 事件日志。
与证书相关的错误应以特殊子代码 (403.7,403.13,403.16,403.17) 的形式显示在 http 日志中,因此您可以编写一个简短的 PowerShell 脚本,每小时运行一次,浏览所有日志文件并查找这些子代码。然后针对每个匹配的请求或汇总摘要,将条目写入 Windows 事件日志。