IIS特定站点双击Authentication选项卡无法打开报错如何解决
问题解决方法
这个错误的核心原因是当前站点的web.config中缺失了IIS身份验证模块对应的配置节点,IIS加载身份验证面板、处理站点请求时读取不到对应配置就会抛出异常。该问题仅单站点触发,一般是站点发布时web.config被新版本覆盖,丢失了IIS自动生成的身份验证配置节导致的。
操作步骤
- 第一步先备份站点根目录下的
web.config文件,避免修改失误可直接回滚。 - 打开
web.config,找到<system.webServer>下的<security>节点,你当前的配置中该节点下只有<requestFiltering>段,需要补全<authentication>配置段,补全后的<security>节点内容如下:
<security> <authentication> <!-- 启用匿名身份验证,使用默认IUSR账户 --> <anonymousAuthentication enabled="true" userName="IUSR" /> <windowsAuthentication enabled="false" /> </authentication> <requestFiltering> <verbs> <add verb="PUT" allowed="true" /> <add verb="DELETE" allowed="true" /> </verbs> <requestLimits maxQueryString="4096" /> </requestFiltering> </security>
- 保存修改后的
web.config,回到IIS控制台,回收该站点对应的应用程序池,刷新站点后重新打开身份验证面板即可正常加载,匿名身份验证已经处于启用状态,站点访问报错也会同步修复。
补充排查项
如果补全配置后仍有异常,检查两项配置:
- 确认该站点绑定的应用程序池
.NET CLR版本设置为无托管代码:你部署的是InProcess模式托管的ASP.NET Core站点,选择带CLR版本的选项会和AspNetCoreModuleV2模块冲突触发配置错误。 - 确认应用程序池的运行标识对站点根目录拥有读取、执行权限,权限不足会导致IIS无法正常读取配置文件。
不要在面板报错时反复点击「启用」「编辑」按钮,配置节点缺失时IIS无法写入配置,只会重复触发错误,直接补全配置是效率最高的解决方式。
内容的提问来源于stack exchange,提问作者Elek Guidolin
相关产品推荐
相关产品推荐

