请求的页面无法访问,因为页面的相关configuration数据是无效错误
我想通过IIS manager
在IIS上上传自己的asp.net网站。 但是当我这样做时,我得到以下错误
HTTP错误500.19 – 内部服务器错误请求的页面无法访问,因为页面的相关configuration数据无效
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:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
我多次search这个错误的解决scheme,但没有解决scheme解决了错误。
我在IUSR帐户中遇到问题。 在web.config
的属性中,我无法在“组或用户名”中看到此帐户。
问题是什么?
这条消息是说你的configuration文件在某种程度上是损坏的。 但它也说,它实际上不能访问configuration文件。 所以我会忽略关于腐败/缺乏有效性的原始信息,因为这很可能只是由于缺乏授权而无法读取文件的效果。
无法读取configuration文件的原因是因为运行您的Web应用程序的进程没有权限访问文件/目录。 所以你需要给进程运行你的Web应用程序的权限。
访问权限应该是相当直接的,即至less读取 ,并根据您的应用程序,也许写 。
上面,你提到了IUSR等不属于web.config
的属性。 如果你的意思是说, IUSR没有在文件的安全标签中列出,那么这是一件好事。 一个不想给IUSR任何types的权限web.config 。 IUSR是一个匿名的互联网用户。
文件web.config应该只能通过你的应用程序访问。
问题是你没有说你正在使用哪个操作系统和IIS版本,所以很难build议采取哪些步骤。
即在IIS 7.5中,您引用的错误消息很可能是由于您的ApplicationPoolIdentity未被分配权限而发生的。 您的Web应用程序属于应用程序池,因此您需要为Web应用程序的应用程序池所在的操作系统帐户授予权限。 通常这是像NetworkService的东西,但你可能已经定制它运行在一个目的的帐户。 没有更多的信息,很难帮助你。
如果该站点被configuration为使用IIS URL重写模块 ,但未安装,也会发生这种情况。
最后,我得到解决我的问题。 该asp.net帐户不会出现在IISpipe理器中,因为我没有检查它的checkbox在IIS中执行此操作在Windows 7中按照步骤
- 打开控制面板
- 点击“程序”链接(不是卸载程序)
- 点击“打开/closures窗口function”链接
- 在popup窗口中find“Internet Information Services IIS”并展开其节点
- 展开“万维网服务”节点
- 展开“应用程序开发function”节点
- 选中“ASP.NET”checkbox
- 然后点击确定button
现在,您将在IISpipe理器上看到Asp.net帐户,默认情况下您会看到IIS帐户现在,您应该将您的asp.net网站从“我的文档”移动到另一个有权访问的位置(您的任何分区计算机)现在从IISpipe理器浏览你的网站,它应该工作。 谢谢Jeff Turner提供的解决scheme
在我的情况下安装IIS URL重写模块解决了这个问题。
我遇到了同样的问题,这是为我工作的解决scheme。
- IISpipe理器
- 右键单击该网站
- 编辑权限
- 从Secutiry选项卡添加用户“IIS_IUSRS”
- 给用户'IIS_IUSRS'的完全权限
- 将应用程序池的标识设置为“ApplicationPoolIdentity”
Facepalm警报:
如果configuration文件的path错误,你也会得到这个错误。 仔细检查它以确保物理path在IIS中正确input。
您需要为本地计算机上的IIS_IUSRS分配权限(但不必为IUSR分配权限,实际上即使明确拒绝权限也可以使用)。
要分配权限,只需右键单击文件夹,然后在安全选项卡上确保授予正确的权限,如果用户没有列出,然后单击“添加”,然后inputIIS_IUSRS(并确保在“域”下的本地计算机被选中,或input名称字段YourLocalComputerName \ IIS_IUSRS),然后你就可以走了。
如果你希望你可以代替为IIS_IUSRS组分配权限,你可以改为分配给一般应该是“IIS APPPOOL \ app pool name ”的应用程序池 。
对于Visual Studio(VS)开发人员:正如Harvey Darvey,Savage和Snives暗示的那样,您的应用程序主机configuration可能指向错误的应用程序物理path。 search/.vs/config/applicationhost.config中的virtualDirectory以更改physicalPath(如果它不正确)。
确保physicalPath是正确的:
另一个可能性,为我解决这个问题:
IIS – >编辑权限 – >安全选项卡 – >给“用户”适当的权限(或IIS_IUSRS,根据您的设置)
同样的事情发生在我身上,当您select一个网站时,请尝试通过双击IIS 7右窗格上的连接string来检查这个问题。
它会给你一个错误(webconfiguration文件有问题),因为你已经使用了URL重写规则,并且没有安装相应的组件。
安装“用于IIS 7的Microsoft URL重写模块2.0”,这应该可以解决您的问题
这里没有任何工作对我来说,我发现这个命令在另一个SO回答,但它解决了我的问题。 只需以pipe理员身份启动命令提示符并运行以下命令:
run->cmd run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"
信用:用户Vicxx
确保您的应用程序池设置为正确的框架版本。 您还需要确保您的aspnet或IUSR用户可以读取应用程序的目录。
当我在我的web.config文件和我的IIS网站中指定了一个同名的默认文档(如index.aspx)时,这也发生在我身上。 我结束了从IIS网站删除条目,并保持web.config条目如下:
<system.webServer> <defaultDocument> <files> <add value="index.aspx" /> </files> </defaultDocument>...
有时候这个消息可能会丢失IIS环境中的组件,例如特定的框架,或者像dynamic压缩这样的IISfunction,而不是web.config的权限。
如果是这种情况,可以通过解决scheme来安装和使用Microsoft平台安装程序并安装这些缺less的组件 – 您可能不得不采取一些措施,因为错误日志和消息不会告诉您。
埃姆。 我已经移动我的网站/文件到不同的文件夹。 无需更改IIS网站中的path。
你现在可能都笑了。
在我的情况下,它是由应用程序物理path指向IIS中不存在的文件夹引起的。
我在Windows Server 2012,IIS 8.5中执行这些步骤来解决这个问题。 还应该为其他版本工作。
- 转到服务器pipe理器,单击添加angular色和function
- 在angular色部分select:
Web Server
- 在安全子部分下select一切(我排除摘要,IP限制和URL授权,因为我们不使用它们)
- 在应用程序开发下,select
.NET Extensibility 4.5
,ASP.NET 4.5
和两个ISAPI
条目 - 在function部分select:
NET 3.5
,.NET 4.5
,ASP.NET 4.5
- 在Web服务器部分select:
Web Server
(全部),Management Tools
(IISpipe理控制台和pipe理服务),Windows
我有问题,因为我复制我的web.config文件从prod下来,改变一切不prod相关的重写规则,重写为http S。
删除了这些规则,运行良好。
很简单,IIS不能访问你的web.config。 我会先从您的文档文件夹中取出网站。 确认它也有r / w权限。
我也有类似的问题,我通过评论web.config文件中的一些部分来解决它。
该项目早期build立并部署在.Net 2.0中。 迁移到.Net 3.5后,它开始抛出exception。
决议:
如果您的configuration文件包含“< sectionGroup name =”system.web.extensions >“,请注释并运行,因为此部分已在Machine.config下提供。
您需要设置您的网站文件夹的权限或复制他们到wwwroot文件夹:) – 如果设置权限,有2种方式:+右键单击到您的网站文件夹+或右键单击您的网站在IIS =>select编辑权限,并添加一个权限(IUSR – 默认iis用户)祝您好运;-)
与映射的驱动器得到此问题,IIS不能与映射的驱动器一起使用。 只需使用未映射的驱动器。
如果你的web.config文件中有synax错误或问题,你可以得到这个错误。
对我来说,这是我在AppSettings中使用的一个URL中的stream浪汉。
在IIS 7.5错误页面上,点击页面底部的“查看更多信息”,在这种情况下,它会将您带到以下Microsoft链接:
http://support.microsoft.com/kb/942055
0x80070005错误代码似乎是权限相关,并按照解决scheme2,方法2分配正确的帐户与相关文件夹的权限应该解决它的步骤 – 我花了3天寻找一个解决scheme,直到我遇到它,一直工作。
在我的情况下,它只是评论(或删除)anonymousAuthentication属性:
<security> <authentication> <!--<anonymousAuthentication enabled="true" />--> </authentication> </security>
对我来说,我已经从源代码pipe理中获得了最新的进展。
applicationhost.config文件的virtualDirectorypath与我的机器不同。
我恢复了我自己的副本,它的工作原理。 我正在使用IIS Express。
我最终通过删除我的Web应用程序的obj
文件夹来解决这个问题。 重build解决scheme后,问题消失了。
在我的情况下,我select了.NET Framework 2.0的应用程序池并启用了32位应用程序。 我有.NET Framework 2.0应用程序。
我得到一个SQL Server复制项目“试图加载格式不正确的程序”错误
探索你的网站存储的文件夹,看到你会得到一个额外的文件夹“aspnet_client”删除该文件夹,它会为你工作。
我试过这个问题解决了。
如果它适合你,请把它作为答案,以便其他人也可以得到解决scheme。
这一切都没有为我工作,但我终于有一个解决scheme,为我工作:
在web.config中删除这一行:
<compilation debug="true" targetFramework="4.5"/>
不要删除这一行
<compilation debug="true"/>