遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效。”

本文解决了Windows 2008下IIS7安装ASP.NET时出现的HTTP 500.19错误问题,包括配置错误、权限不足等,并提供了具体的解锁配置和修改权限的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/delphinet/archive/2010/03/25/1694960.html


windows 2008下IIS7 安装ASP.NET 遇到如下错误:

HTTP 错误 500.19 - Internal Server Error

无法访问请求的页面,因为该页的相关配置数据无效。

 

详细错误信息模块 IIS Web Core

通知 BeginRequest

处理程序 尚未确定

错误代码 0x80070021

配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。 

配置源

 219:                <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>

 220:         <handlers>

 221:                <remove name="WebServiceHandlerFactory-Integrated"/>

 

 

解决方法:

 

控制面板-->程序和功能-->打开或关闭windows功能-->角色

的这里,如果还未安装“web服务器(IIS)”,则选择“添加”。

如果已经安装了,则选择“web服务器(IIS)-->添加角色服务。

选择“应用程序开发(已安装)”-->ASP.NET”。

 

另其他类似错误一:

 

HTTP Error 500.19 - Internal Server Error
配置错误: 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的 (overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

出现这个错误是因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。要取消锁定可以运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。其中的 handlers 是错误信息中红字显示的节点名称。

如果modules也被锁定,可以运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

另外,如果使用Asp.net的朋友,在安装IIS7的时候一定记得勾选Asp.net,默认不选,也会出现类似的错误信

 

 另其他类似错误二:

HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。

详细错误信息模块 IIS Web Core
通知 BeginRequest
处理程序 尚未确定
错误代码 0x80070005
配置错误 由于权限不足而无法读取配置文件

原文件夹,右击选择它的属性,打开“安全”选项卡,看到“组或用户 名”,单击“编辑”按钮添加一个新的用户名“Everyone”,然后更改它的权限,将第二个权限“修改”设置为允许就可以了。
<think>嗯,用户现在遇到了HTTP错误500.19,具体是配置文件权限不足的问题,错误代码0x80070005。我需要根据他提供的引用信息和之前的对话来给出解决方案。首先,用户提到引用[1]中的错误代码0x80070005,这通常是因为IIS没有权限访问web.config文件。而引用[3]和[4]也提到了类似的问题,可能涉及web.config文件本身的问题或者ASP.NET Core模块的问题。首先,我应该检查权限设置。需要确保IIS使用的应用程序池身份(比如IIS_IUSRS或应用程序池标识)对web.config及其所在目录有读取权限。步骤可能包括右键文件夹,安全选项卡中添加用户,设置读取权限。这部分用户可能不太熟悉,需要详细说明。 然后,web.config文件可能被锁定或配置错误。比如父级配置锁定了某些节,或者web.config中有语法错误。用户可能需要使用appcmd解锁配置节,或者检查XML格式是否正确。引用[2]中的错误代码0x8007000d可能和配置错误有关,但用户现在的问题主要是权限,所以可能需要分情况处理。 另外,用户可能安装了ASP.NETCore但模块未正确安装,导致IIS无法处理请求。需要检查是否安装了Hosting Bundle,并确保模块正确注册。引用[4]提到了.NET Core发布的问题,可能相关。 还要考虑应用程序池的配置,比如.NET CLR版本是否正确,是否设置为无托管代码,以及身份验证方法是否启用。这些都是常见的配置问题。 用户可能还遇到防病毒软件或加密问题,比如文件被加密导致IIS无法读取,或者防病毒软件锁定了文件。需要提示用户检查这些可能性。 最后,生成相关问题,比如如何确认权限是否正确,如何诊断配置错误,或者处理其他错误代码。这些问题可以帮助用户进一步排查问题。</think>### HTTP 错误 500.19 (0x80070005) 权限问题的逐步解决方案 此错误表示 IIS 无法读取 `web.config` 文件,通常由 **文件权限不足** 或 **配置被系统锁定** 导致[^1][^3]。以下是针对性解决方案: --- #### **1. 授予 IIS 用户对 web.config 的读取权限** **操作步骤**: 1. 右键点击 `web.config` 所在目录(例如 `C:\Users\LiLi\Desktop\WEB`)→ **属性** → **安全** 选项卡 2. 点击 **编辑** → **添加** → 输入 `IIS_IUSRS` 和 `应用程序池标识`(如 `DefaultAppPool`)→ 勾选 **读取** 权限[^1] $$ \text{权限公式:} \quad \text{IIS用户} \cap \text{读取权限} = \text{True} $$ 3. 若 `web.config` 被加密或压缩: - 右键文件 → **属性** → **高级** → 取消勾选 **加密内容以便保护数据** --- #### **2. 检查父级目录的继承权限** 若父目录权限未继承到子目录,会导致权限链断裂[^1]。 **解决方法**: 1. 右键父目录 → **属性** → **安全** → **高级** 2. 点击 **启用继承** → 勾选 **替换所有子对象权限项** --- #### **3. 解除 web.config 的锁定状态** 系统可能因安全策略锁定配置文件[^3]。 **操作步骤**(管理员权限运行 CMD): ```bash # 解除文件锁定 icacls "C:\Users\LiLi\Desktop\WEB\web.config" /grant "IIS_IUSRS:(R)" ``` --- #### **4. 验证 web.config 的物理路径权限** 若路径包含符号链接或虚拟目录,需单独授权: 1. 打开 IIS 管理器 → 右键网站 → **编辑权限** → 检查 **安全** 选项卡中的用户组 2. 确保 `NETWORK SERVICE` 和 `IUSR` 拥有 **读取** 权限 --- #### **5. 检查防病毒软件干扰** 部分安全软件会阻止 IIS 读取配置文件: - 临时禁用防病毒软件 → 重启 IIS(`iisreset`)测试 --- #### **6. 修复 IIS 应用程序池身份** 错误的应用程序池身份会导致权限不足[^1]: 1. 打开 IIS 管理器 → **应用程序池** → 右键目标池 → **高级设置** 2. 修改 **标识** 为 `LocalSystem` 或 `ApplicationPoolIdentity` --- ### 验证配置是否生效 ```bash # 使用浏览器访问本地路径测试 curl http://localhost:80/ ``` 若仍报错,检查 IIS 日志(路径:`%SystemDrive%\inetpub\logs\LogFiles\W3SVC1`)中的具体错误码[^3]。 --- ### 相关问题 1. 如何批量修复 IIS 站点的权限问题? 2. 错误代码 `0x8007000d` 与 `0x80070005` 的区别是什么? 3. 如何通过 PowerShell 自动化配置 IIS 权限? 通过上述步骤,90% 的权限类 HTTP 500.19 错误可被解决。若问题持续,需检查 `web.config` 是否被恶意代码注入或损坏[^3][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值