尝试访问 IIS 7.0 上托管的网站时出现 HTTP 错误 403.16
本文可帮助你解决访问托管在 Internet Information Services (IIS) 7.0 上的网站时发生的 HTTP 403.16 - 禁止 访问错误。
原始产品版本: Internet Information Services 7.0
原始 KB 编号: 942061
症状
你有一个托管在 IIS 7.0 上的网站。 尝试通过 Web 浏览器访问站点时,会收到类似于以下示例之一的错误消息。
错误消息 1
应用程序“应用程序名称”中的服务器错误
HTTP 错误 403.16 - 禁止
HRESULT:0x800b0109
对 HRESULT 的说明
客户端证书不受信任或无效。错误消息 2
HTTP 403.16 客户端证书不受信任或无效。 智能卡用户无法进行身份验证。403 禁止
原因 1:根证书不在受信任的根证书颁发机构证书存储中
出现此问题的原因是证书颁发机构的根证书不在 IIS Web 服务器上的受信任的根证书颁发机构证书存储中。
注意
证书颁发机构的根证书用于颁发客户端证书。
原因 2:非自签名证书位于受信任的根证书颁发机构证书存储中
受信任的根证书颁发机构证书存储中存在一个或多个非自签名证书。 非自签名证书是和 Issued By
值不完全匹配的任何证书Issued To
。
原因 1 的解决方法
在 IIS Web 服务器上,选择“开始”,在“开始搜索”框中键入 mmc.exe,右键单击“mmc.exe”,然后选择“以管理员身份运行”。
注意
如果系统提示你输入管理员密码或进行确认,则键入密码或选择“继续”。
在“ 文件 ”菜单上,选择“ 添加/删除管理单元”。
在 “可用管理单元”下,选择“ 证书”,然后选择“ 添加”。
选择“ 计算机帐户”,然后选择“ 下一步”。
依次选择“ 本地计算机”、“ 完成”、“ 关闭”。
若要退出向导,请选择“ 确定”。
展开 “证书”,展开“ 受信任的根证书颁发机构”,右键单击“ 证书”,指向“ 所有任务”,然后选择“ 导入”。
在“证书导入向导”中,选择“ 下一步”。
在“ 文件名 ”框中,键入证书颁发机构根证书的位置,然后选择“ 下一步”。
选择“ 下一步”,然后选择“ 完成”。
原因 2 的解决方法
将任何非自签名证书移出受信任的根证书颁发机构证书存储区,并移入中间证书颁发机构证书存储区。
更多信息
若要标识受信任的根证书颁发机构证书存储中的所有非自签名证书,请运行以下 PowerShell 命令:
Get-Childitem cert:\LocalMachine\root -Recurse |
Where-Object {$_.Issuer -ne $_.Subject} | Format-List * | Out-File "c:\computer_filtered.txt"
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈