无法访问请求的页面,因为页面的相关配置数据无效错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法访问请求的页面,因为页面的相关配置数据无效错误相关的知识,希望对你有一定的参考价值。
我想通过IIS manager
在IIS上传我自己的asp.net网站。但是当我这样做时,我得到以下错误
HTTP错误500.19 - 内部服务器错误无法访问请求的页面,因为页面的相关配置数据无效
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x80070005
Config Error Cannot read configuration file due to insufficient permissions
Config File ?C:UsersYassoDocumentsVisual Studio 2008WebSitesWebSite5web.config
我多次搜索此错误的解决方案,但没有一个解决方案解决了错误。
我在IUSR帐户中遇到问题。我在web.config
的属性中的“组或用户名”中看不到此帐户。
问题是什么?
该消息表明您的配置文件在某种程度上已损坏。但是它也说它实际上无法访问配置文件。因此,我忽略了有关损坏/缺乏有效性的原始消息,因为这很可能只是由于缺乏授权而无法读取文件的影响。
它无法读取配置文件的原因是因为运行Web应用程序的进程无权访问文件/目录。因此,您需要为运行Web应用程序的进程提供这些权限。
访问权限应该相当简单,即至少读取,并且,根据您的应用程序,可能是写入。
上面,你提到IUSR等不属于web.config
的属性。如果你的意思是IUSR没有列在文件的安全选项卡中那么这是一件好事。一个人不想给IUSR任何web.config的权限。角色IUSR是一个匿名的互联网用户。
只能通过您的应用程序访问文件web.config。
问题是你没有说你正在使用哪个操作系统和IIS版本,因此很难建议采取哪些步骤。
即在IIS 7.5中,由于您的ApplicationPoolIdentity未被分配权限,可能会出现您引用的错误消息。您的Web应用程序属于应用程序池,因此您需要授予Web应用程序的应用程序池运行的OS帐户的权限。通常这类似于NetworkService,但您可能已将其定制为在专用帐户下运行。没有更多信息,很难帮助你。
这里没有什么对我有用,我在另一个SO答案中找到了这个命令但它解决了我的问题。只需以管理员身份启动命令提示符并运行此命令:
run->cmd
run "c:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_regiis.exe -i"
图片来源:用户Vicxx
为我解决这个问题的另一种可能性:
IIS - >编辑权限 - >安全选项卡 - >为“用户”提供适当的权限(或IIS_IUSRS,具体取决于您的设置)
我执行这些步骤来解决Windows Server 2012,IIS 8.5中的此问题。也适用于其他版本。
- 转到服务器管理器,单击“添加角色和功能”
- 在角色部分选择:
Web Server
- 在安全子部分下选择所有内容(我排除了摘要,IP限制和URL授权,因为我们不使用它们)
- 在Application Development下,选择
.NET Extensibility 4.5
,ASP.NET 4.5
和ISAPI
条目 - 在功能部分选择:qazxsw poi,qazxsw poi,qazxsw poi
- 在Web服务器部分,选择:
NET 3.5
(all),.NET 4.5
(IIS管理控制台和管理服务),Windows
埃姆。我已将我的网站/文件移动到另一个文件夹。无需更改IIS网站中的路径。
你们现在都笑了。
确保将应用程序池设置为正确的框架版本。您还需要确保您的aspnet,IIS_IUSRS或IUSR用户具有对应用程序目录的读取权限。
当我在web.config文件和我的IIS网站中都指定了一个同名的默认文档(如index.aspx)时,这也发生在我身上。我最终从IIS网站删除了该条目并保留了web.config条目,如下所示:
ASP.NET 4.5
有时,此消息可能缺少IIS环境中的组件,例如特定框架,或动态压缩等IIS功能,而不是web.config的权限。
如果是这种情况,解决方案可以是安装和使用Microsoft平台安装程序并安装那些缺少的组件 - 您可能不得不采取措施,因为错误日志和消息没有告诉您。
为了填写,我收到了同样的错误,我的问题很简单:我错过了.NET Core Hosting Bundle。一旦我安装了该工具并重新启动了服务器,就可以了。
你可以在windows上找到掌控asp.net核心的手册:Web Server
您需要为您的网站文件夹设置权限或将它们复制到wwwroot文件夹:) - 如果设置了权限,则有2种方式:+右键单击您的网站文件夹+或者右键单击IIS中的您的网站=>选择编辑权限并添加许可(IUSR - 默认iis用户)祝你好运;-)
在我的例子中,它是由应用程序物理路径指向IIS中不存在的文件夹引起的。
如果站点配置为使用IIS URL Rewrite module但未安装,也会发生这种情况。
我遇到了问题,因为我从prod复制了我的web.config文件,更改了除了重写为httpS的重写规则之外的所有内容。
删除了这些规则并运行良好。
非常简单,IIS无法访问您的web.config。我首先从网站文件夹中取出网站。验证它是否具有r / w权限。
我也有类似的问题,我通过评论web.config文件中的一些部分来修复它。
该项目早期在.Net 2.0中构建和部署。迁移到.Net 3.5后,它开始抛出异常。
决议:
如果您的配置文件包含“<sectionGroup name =”system.web.extensions>“,请对其进行注释并运行,因为此部分已在Machine.config下可用。
如果web.config文件中存在语法错误或问题,则可能会出现此错误。
对我来说,这是我在AppSettings中使用的流浪的Management Tools
。
在IIS 7.5错误页面上,您可以单击页面底部的“查看更多信息”,在这种情况下,它将转到以下Microsoft链接:
<system.webServer>
<defaultDocument>
<files>
<add value="index.aspx" />
</files>
</defaultDocument>...
0x80070005错误代码似乎是权限相关的,并按照解决方案2中的步骤,方法2分配具有相关文件夹权限的正确帐户应修复它 - 我花了3天寻找解决方案,直到我遇到它,直接工作。
使用映射驱动器遇到此问题,IIS无法使用映射驱动器。只需使用未映射的驱动器。
浏览您的网站所在的文件夹,看到您将获得一个额外的文件夹“aspnet_client”删除该文件夹,它将适合您。
我试过这个我的问题解决了。
如果它适合你,请把它作为答案,以便其他人也可以得到解决方案。
这些都不适合我,但我终于找到了一个对我有用的解决方案:
在web.config中删除此行:
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
不要删除此行
ampersand in a URL
将本地帐户IIS_IUSRS添加到安全性,并授予他们读取/执行访问权限。这适用于我的情况。
在我的例子中,它只是评论(或删除)anonymousAuthentication属性:
http://support.microsoft.com/kb/942055
最后,我得到了解决问题的方法。 ASP.net帐户没有出现在IIS管理器中,因为我没有在IIS中检查其复选框。要在Windows 7中执行此操作,请执行以下步骤:
- 打开控制面板
- 点击“程序”链接(不卸载程序)
- 单击“打开/关闭Windows功能”链接
- 在弹出窗口中找到“Internet信息服务IIS”并展开其节点
- 展开“万维网服务”节点
- 展开“应用程序开发功能”节点
- 选中“ASP.NET”复选框
- 然后单击确定按钮
现在,您将在IIS管理器上看到ASP.net帐户,默认情况下您将看到IIS帐户。现在,您应该将ASP.net网站从“我的文档”移动到IIS有权访问它的另一个地方(即计算机上的另一个分区)。现在,从IIS管理器浏览您的网站,它应该工作。
非常感谢Jeff Turner的解决方案。
在以下路径<compilation debug="true" targetFramework="4.5"/>
中指定<compilation debug="true"/>
中的值后,我收到了这个奇怪的错误
我们更喜欢使用 <security>
<authentication>
<!--<anonymousAuthentication enabled="true" />-->
</authentication>
</security>
控制IIS的配置方式,因为IIS是一个可怕的产品,很难使用其他方法进行配置。
问题是IIS通过将部分配置锁定到外部中介来标记其授权。
可以使用IIS服务器级别的功能委派小程序解锁身份验证配置,设置读/写。
当然,在我们必须自动配置IIS auth类型之前,现在我们必须自动解锁。我提到IIS是一个可怕的产品吗?
在我的情况下安装IIS URL重写模块解决了这个问题。
我遇到了同样的问题,这是适合我的解决方案。
- IIS管理器
- 右键单击该网站
- 编辑权限
- 从“安全”选项卡添加了用户“IIS_IUSRS”
- 获得用户'IIS_IUSRS'的完全权限
- 将应用程序池的标识设置为“ApplicationPoolIdentity”
对于Visual Studio(VS)开发人员:正如Harvey Darvey,Savage和Snives所暗示的,您的应用程序主机配置可能指向错误的应用程序物理路径。在/.vs/config/applicationhost.config中搜索virtualDirectory以更改physicalPath(如果不正确)。
确保physicalPath正确:
Facepalm警报:
如果配置文件的路径错误,您也会收到此错误。仔细检查它以确保在IIS中正确输入物理路径。
您需要在本地计算机上为IIS_IUSRS分配权限(但您不必为IUSR分配,实际上即使您明确拒绝权限它也能正常工作)。
要分配权限,只需右键单击文件夹,然后在安全选项卡上确保授予正确的权限,如果未列出用户,则单击“添加”,然后输入IIS_IUSRS(并确保在“域”下的本地选择计算机,或输入名称字段YourLocalComputerName IIS_IUSRS),然后你就可以了。
如果您希望可以而不是为IIS_IUSRS组分配权限,则可以改为分配给应用程序池,该应用程序池通常应为“IIS APPPOOL app pool name”。
我发生了同样的事情,请在选择网站时双击IIS 7右窗格中的连接字符串,尝试检查此项。
它会给你一个错误(web配置文件有一些问题),因为你使用了URL重写规则并且没有安装相应的组件。
安装“用于IIS 7的Microsoft URL重写模块2.0”,这应该可以解决您的问题
以上是关于无法访问请求的页面,因为页面的相关配置数据无效错误的主要内容,如果未能解决你的问题,请参考以下文章
500.19 - 内部服务器错误 - 无法访问请求的页面,因为该页面的相关配置数据无效
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。