500.19 - 内部服务器错误 - 无法访问请求的页面,因为该页面的相关配置数据无效

Posted

技术标签:

【中文标题】500.19 - 内部服务器错误 - 无法访问请求的页面,因为该页面的相关配置数据无效【英文标题】:500.19 - Internal Server Error - The requested page cannot be accessed because the related configuration data for the page is invalid 【发布时间】:2013-09-04 17:53:30 【问题描述】:

在大家阅读本文之前,我只想说我知道那里有相关的线程,但我要么尝试过,要么不明白。话虽如此,这里什么都没有......

我正在尝试在我的 IIS 中运行 MVC Web 应用程序。不幸的是,我完全陷入了这个错误:

HTTP Error 500.19 - Internal Server Error

The Request page cannot be accessed becasue the related configuration data for 
the page is invalid.

Module: IIS Web Core
Notification: BeginRequest
Handler: Not yet determined
Error Code: 0x80070005
Config Error: Cannot read configuration file due to insufficient permissions
Config File: \foo\web.config
Request URL: http://localhost/WEBAPP
Logon Method: Not yet determined
Logon User: Not yet determined

Config Source
-1:
0:

我不太确定还能做什么。我也尝试过授予 web.config 文件的读取权限,但这似乎不起作用。

如果有人有任何信息或能够帮助我解决这个问题,我们将不胜感激。谢谢!

【问题讨论】:

我在 VS 2015 社区版中遇到了同样的问题,并通过重新启动 VS 来修复它。 我的问题通过下面的帖子解决了:***.com/a/9239936/2155778 @HENGVongkol 感谢您在花费大量时间找出问题的原因后分享您的解决方案。 在我的情况下,本地运行时出现问题,控制面板 -> 程序 -> IIS Express -> 修复,它会自动重置 IIS Express 设置,有效 【参考方案1】:

在我的情况下,我需要安装 IIS URL 重写模块 2.0,因为它正在 web.config 中使用,这是第一次在新机器上运行站点。

【讨论】:

是的。我也是。安装后,我现在可以在 IIS 管理器中编辑我的配置。 啊哈是的!谢谢@Josh D! 是的,这在我身上发生了很多次,我一直忘记 完美!浪费了一天,但这就是问题所在(: 这是问题所在,更友好的错误消息可以节省很多时间【参考方案2】:

在场景 8 中的 MSDN blog: Troubleshooting HTTP 500.19 Errors in IIS 7 错误代码 0x80070005E_ACCESSDENIED - 一般访问被拒绝错误)上它说:

IIS_IUSRS 组授予读取权限...

....工作进程标识(和/或IIS_IUSRS 组)至少需要对该目录的读取权限,以便它可以检查该目录中的 web.config 文件。

【讨论】:

如果在这个IIS Ipm中,没有IIS_IUSRS组呢? 您需要确定工作进程的身份,也就是 w3svc 服务中的登录用户 是的,我检查了,因为它是一个 IIS 托管的 Web 服务,所以用户是分配给应用程序池的帐户。因为它是一个测试服务器,所以我使用 LocalSystem 注意:我是通过右键单击虚拟目录并单击更改访问权限来设置 IIS 管理器中的权限,但它仍然无法正常工作。之后,我检查了我的 web 目录中的文件,结果发现每个文件的访问权限都发生了变化......但是 web.config!我直接修改了web.config上的权限,现在可以了。【参考方案3】:

请按照以下步骤操作

    转到控制面板 转到程序和功能 打开或关闭窗口功能 转到 Internet 信息服务节点 关注万维网服务 那么请检查应用程序开发功能 然后请检查所有 Node 特别是 Asp 或 Application Framework Like Asp.net 3.5 or ASP.NET 4.5 不管你有什么

【讨论】:

要明确,“那么请检查所有节点特别是 Asp 或 Application Framework Like Asp.net 3.5 or ASP.NET 4.5 不管你有什么”适用于报告的具体错误消息?需要哪些实际的?如果这取决于我在做什么,我该如何找到? 如何在 Mac 上执行此操作?【参考方案4】:

我通过重启 VS 解决了这个问题。

我在另一个 VS 实例中打开了一个配置文件,显然某事发疯了......

【讨论】:

我刚刚关闭了所有实例,例如重新启动项目,源代码树,然后重建后,它在我这边工作正常。【参考方案5】:

打开或关闭转到 Windows 功能。 启用应用程序开发功能下的所有功能并刷新IIS它的工作

【讨论】:

我不认为打开所有这些是一个好主意。我可以想象如果 ASP.NET 被关闭它可能会导致问题,但我不相信,例如“服务器端包含”可能是相关的。 对于 Windows Server 2012 和 2016:docs.microsoft.com/en-us/dynamics-nav/…【参考方案6】:

我试图在 windows 10 pro box 上从 IIS 10 运行 .net core 3.1 站点,但出现此错误。执行以下操作来解决它。

先开启以下iis功能。

然后点击下面的链接。

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install-the-net-core-hosting-bundle

安装 .net 核心托管包

直接链接是

https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.2-windows-hosting-bundle-installer

我也安装了.net core sdk and run time。但这并没有解决问题。

不同之处在于 .net 核心托管包。

【讨论】:

+1 我立即对我认为是一个非常基本和幼稚的答案不屑一顾。然后我看到了“.NET Core Hosting Bundle”。等一下 - 我不知道 Windows Server 托管有单独的部署;我会把 ASP .NET Core 运行时放在那里,而不是这个其他核心托管包。 FWIW - 快速双击修复了我的 HTTP 500 - 注意。 这是解决方案安装 .net 核心托管包。【参考方案7】:

我有一个名为 web.config 的子文件夹重命名此文件夹解决了问题

【讨论】:

【参考方案8】:

我的问题是我不小心安装了另一个站点作为默认站点而不是 IIS 默认站点(通过打开另一个项目。)我不得不删除默认站点并将其重新指向默认位置 C:\inetpub\wwwroot 使用我的域登录为绕过的用户然后重新打开了我试图运行的项目(显示此错误的项目),这一切都是 honky dory

【讨论】:

【参考方案9】:

我正在从虚拟机内部访问项目 - 从主机操作系统(Windows 10)共享项目文件夹。在尝试了许多解决方案之后,甚至确保给了IIS_IUSRS 的权限,我仍然可以解决这个问题。

最后,我将此文件夹从主机复制到来宾操作系统上的路径上,现在我可以毫不费力地正确运行同一个 ASP.NET 项目。但是,我确实也继续让IIS_IUSRS 组完全控制这个新目录......也许在这种情况下这不是真的必要?我懒得去测试那个 ATM。

【讨论】:

【参考方案10】:

为了完整起见,Asp.Net Core tag in web.config causes failure 的答案也可能是这里问题的解决方案。如果未安装 .NET Core Windows Server Hosting 捆绑包,则 IIS 无法识别 web.config 中的 aspNetCore 部分。 https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install-the-net-core-hosting-bundle声称是直接下载到当前版本。

【讨论】:

【参考方案11】:

删除 .vs/Config 文件夹 => 为我工作

【讨论】:

【参考方案12】:

就我而言,我安装了 .Net core SDK 3.1.403。所以我安装了相应的 .Net Core Windows Server Hosting 即 .NET core 3.1.9 - Windows Server Hosting。

【讨论】:

【参考方案13】:

我尝试了上述所有解决方案。重新安装hosting bundle后我的问题解决了。

我之前在 IIS 管理器安装中安装了托管包。

我认为这是导致错误。不知道为什么,但是重新安装成功了。

【讨论】:

当我尝试在 Windows server-2019 虚拟机上部署 .net core 3.1 应用程序时遇到同样的错误。我使用 azure devops 部署组托管了该网站。重新安装 .net core 3.1 的托管包后,我解决了这个问题【参考方案14】:

如果从其他文件夹获取,并且主机文件已经在ProjectName\.vs\config 文件夹上生成,则它与新文件夹冲突并出现此错误。 所以从ProjectName\.vs\config 中删除主机文件并再次重新启动项目。它对我有用

【讨论】:

【参考方案15】:

就我而言,Server 的框架版本低于您的应用程序。安装了最新版本的框架,它解决了这个问题。

【讨论】:

【参考方案16】:

在“编辑应用程序池”窗口中,将 .NET CLR 版本设置为无托管代码

【讨论】:

【参考方案17】:

我在使用 Visual Studion 2019 时遇到此错误,我的项目是 NopCommerce 4.30,它是一个 ASP.Net Core 3.1 项目。我将页面“gouden-munten-buitenland”添加为起始页面,但在转到该页面时我只收到错误消息。原来 Visual Studio 生成了一个无效的 applicationHost.config :

<applicationPools>
    ....
    <add name="gouden-munten-buitenland AppPool" autoStart="true" />
    <add name="gouden-munten-buitenland AppPool 2" autoStart="true" /> <!-- WRONG -->
    <add name="Nop.Web AppPool" managedRuntimeVersion="" />
    <applicationPoolDefaults managedRuntimeVersion="v4.0">
    <processModel loadUserProfile="true" setProfileEnvironment="false" />
    </applicationPoolDefaults>
</applicationPools>

<sites>
    ....
    <site name="Nop.Web" id="2">
    ...
    <application path="/gouden-munten-buitenland/gouden-munten-buitenland" applicationPool="gouden-munten-buitenland AppPool">
        <virtualDirectory path="/" physicalPath="C:\Usr\Stephan\Wrk\Kevelam\kNop.430\Presentation\Nop.Web" />
    </application>
    <application path="/gouden-munten-buitenland" applicationPool="gouden-munten-buitenland AppPool 2">
        <virtualDirectory path="/" physicalPath="C:\Usr\Stephan\Wrk\Kevelam\kNop.430\Presentation\Nop.Web" />
    </application> <!-- WRONG -->
    ....
    </site>
    ...
</sites>

我删除了标识为“错误”的节点,然后它起作用了。

【讨论】:

【参考方案18】:

如果您的错误是使用 asp.net core 中的站点,请安装 ASP.NET Core Windows 托管包。

    单击下面的链接并选择您的 .net 核心版本 在以下页面中找到链接“Hosting bundle”(ctrl+f 可能会有所帮助)并安装它。

帮了我大忙!

https://dotnet.microsoft.com/en-us/download/dotnet

【讨论】:

【参考方案19】:

我在 Windows 10Windows Server 2019 的 IIS 上运行 restful 服务 遇到了这个问题,经过大量研究我终于解决了问题。执行以下步骤后,问题很可能会得到解决。

转到“Windows 功能”和激活的完整功能 IIS(“Internet 信息服务”或“Web 服务器”)和激活的 .Net 功能

在“C:\inetpub\wwwroot”找到源代码

打开 IIS

转到安全标签后,在您的网站上点击“编辑权限”并给予完整 访问 IIS_IUSRS 点击“高级设置”后,进入“应用程序池”,然后右键单击您的应用程序池,将“Identity”更改为“LocalSystem” 点击“基本设置”后,进入“应用程序池”,然后右键单击您的应用程序池,将“.NET CLR 版本”更改为“无托管代码” >" 如果要将服务设置为特定端口,请先将其设置为端口 80,然后对其进行编辑并设置您的端口

现在如果问题仍未解决,请在系统上安装以下软件:

网址重写 2 网络平台 DotNetCore.2.0.8 Windows 主机 Dotnet 托管 5 Dotnet-runtime 5 MicrosoftServiceFabricSDK 5 NET.Framework 4.8

最后重启系统。

【讨论】:

以上是关于500.19 - 内部服务器错误 - 无法访问请求的页面,因为该页面的相关配置数据无效的主要内容,如果未能解决你的问题,请参考以下文章

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

HTTP错误500.19

HTTP错误500.19 - 内部服务器错误0x8007052e

IIS HTTP 错误 500.19

HTTP 错误 500.19 和错误代码:配置 IIS 服务器时出现 0x80070021

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