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 错误代码 0x80070005
(E_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 10 和 Windows 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 - 内部服务器错误0x8007052e