问题背景:
在IIS中,偶尔会遇到无法访问站点的情况,浏览器会提示错误:“HTTP Error 401.2 - Unauthorized”, 或者“由于凭据无效被拒绝”,或者“请求的资源在使用中”。这时候就需要针对这种情况进行解决,本篇攻略将详细讲解解决方法,以及两个实例。
解决方式:
- 确认站点设定
首先,要确认站点设定是否正确,包括站点的身份验证模式,以及授权规则等。若身份验证模式不正确,或者授权规则设置有误,则会导致访问失败。
比如,如果你的站点身份验证模式选择了“Windows验证”,但是你的电脑上没有配置正确的Windows账户信息,则会出现“401.2 - Unauthorized”的错误。
- 检查应用程序池属性
其次,应该检查应用程序池的属性是否设置正确。如果用户不具备访问该应用程序池的可执行文件或者目录权限,也会出现“401.2 - Unauthorized”的错误。
可以先确定应用程序池对应的身份验证账户信息是否正确,以及账户是否具备访问该应用程序池所需的权限。若身份验证账户不正确,则需要选择正确的身份验证账户。
- 配置IIS的Windows身份验证
默认情况下,IIS并没有开启Windows身份验证,需要手动开启。在站点的“身份验证”下,找到“Windows验证”,打开它并勾选该选项卡下的“启用”按钮。
之后,要选择Windows验证和NTLM验证,最后将Windows验证提升至顶级,以避免其他身份验证替换Windows验证。
实例一:
- 找到ISS面板的站点
首先,进入本地ISS管理面板,找到具体的站点,单击鼠标右键,选择“管理网站”选项。
- 开启Windows验证
在“身份验证”下,找到“Windows验证”,勾选该选项卡下的“启用”按钮,并选择Windows验证和NTLM验证,最后将Windows验证提升至顶级。
再次点击“管理网站”选项,此时可以正常访问该站点。
实例二:
- 开启IIS的Windows身份验证
首先,开启IIS的Windows身份验证,找到站点的“身份验证”选项卡,勾选“启用”按钮。
- 修改站点的Web.config文件
在站点的根目录下,找到Web.config文件,并打开。在configuration节点中添加如下代码:
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
- 配置应用程序池的身份验证
接下来,需要进入应用程序池的属性中,选择对应的“身份验证”。在该选项卡下,选择Windows身份验证,并确认设置。
- 重启IIS服务
最后,重启IIS服务,重新访问站点,此时应该没有出现之前的报错信息了。
结语:
通过以上方式,可以解决“401.2 - Unauthorized”的常见错误。需要注意的是,不同的IIS版本和不同的站点设置,可能需要采用不同的解决方式,需要根据具体情况进行调整。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:iis 访问由于凭据无效被拒绝+请求的资源在使用中的解决方法 - Python技术站