你好,
出现 HTTP 401.2 Unauthorized 通常意味着 IIS 的 Windows 身份验证配置不正确,或者 Negotiate/NTLM 提供程序顺序有问题。CA Web Enrollment (/certsrv) 默认依赖 Windows 身份验证,因此需要确保 IIS 的身份验证模块配置正确。
请在 CA Web Enrollment 服务器上打开 IIS 管理器,定位到 Default Web Site 下的 certsrv 虚拟目录。进入 Authentication 设置,确认 Windows Authentication 已启用,同时禁用 Anonymous Authentication。在 Windows Authentication 的右侧操作栏中,点击 Providers,确保顺序为:Negotiate 在前,NTLM 在后。如果服务器未加入域或 Kerberos 不可用,可以移除 Negotiate,只保留 NTLM,这样能避免 Kerberos 票据验证失败导致的 401.2。
另外,检查应用程序池的身份。CertSrv 默认运行在 DefaultAppPool,请确认该应用程序池使用的是 NetworkService 或域账户,并且在本地 IIS_IUSRS 组中有权限。如果应用程序池身份配置错误,也会导致 401.2。
最后,确保服务器的 SPN 配置正确。如果使用域名访问 https://ca.domain.com/certsrv,而启用了 Negotiate/Kerberos,则需要在 CA 服务器的计算机账户上注册对应的 HTTP SPN,否则 Kerberos 验证会失败,回退到 NTLM。如果 SPN 未配置或冲突,建议暂时移除 Negotiate,只保留 NTLM 来恢复访问。
总结:启用 Windows Authentication,禁用 Anonymous,调整 Providers 顺序为 Negotiate/NTLM 或仅 NTLM,根据环境是否支持 Kerberos 来决定是否保留 Negotiate。同时确认应用程序池身份和 SPN 配置。这样通常可以解决 CA Web Enrollment 出现的 401.2 未授权问题。希望这里的内容对您有所帮助。如果您觉得它让您对该问题有了更深入的了解,欢迎采纳该回答。如有其他疑问,请随时留言。祝您生活愉快!
HP.