我想在IIS上用IIS管理器上传我自己的asp.net网站。但是当我这样做时,我得到以下错误

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

模块IIS Web核心 通知未知 处理人尚未确定 错误码0x80070005 Config Error由于权限不足,无法读取配置文件 配置文件\\?\C:\用户\亚索\文档\Visual Studio 2008\网站\WebSite5\web.config

我搜索了很多次这个错误的解决方案,但没有一个解决方案解决了这个错误。

我的IUSR账户有问题。我在web.config的属性中的“组或用户名”中看不到这个帐户。

有什么问题吗?


当前回答

在IIS 7.5错误页面上,你会点击页面底部的“查看更多信息”,在这种情况下,它会带你到以下微软链接: http://support.microsoft.com/kb/942055 0x80070005错误码似乎与权限相关,遵循决议2中的步骤,方法2分配正确的帐户与相关文件夹的权限应该修复它-我花了3天寻找一个解决方案,直到我遇到它,然后直接工作。

其他回答

另一个解决这个问题的方法是:

给“用户”适当的权限(或IIS_IUSRS,取决于你的设置)

该消息说您的配置文件以某种方式损坏了。然而,它也说它实际上不能访问配置文件。所以我忽略了关于损坏/缺乏有效性的原始消息,因为这很可能只是由于缺乏授权而无法读取文件的影响。

它不能读取配置文件的原因是因为运行web应用程序的进程没有访问文件/目录的权限。所以你需要给运行你的web应用的进程那些权限。

访问权限应该相当简单,即至少是“读”,根据你的应用,可能是“写”。

上面,你提到IUSR等不在web.config的属性中。如果您的意思是IUSR没有列在文件的安全选项卡中,那么这是一件好事。我们不想给IUSR任何web.config的权限。角色“IUSR”为匿名互联网用户。

文件网络。配置应该只能通过应用程序访问。

问题是你还没有说你正在使用哪个操作系统和IIS版本,所以很难建议采取哪些步骤。

例如,在iis7.5中,您引用的错误消息很可能是由于您的ApplicationPoolIdentity没有被分配权限而发生的。您的web应用程序属于一个应用程序池,因此您需要给您的web应用程序池运行的操作系统帐户权限。通常这是类似于NetworkService的东西,但是你可以自定义它,让它在一个特制的帐户下运行。没有更多的信息,很难帮助你。

我做这些步骤来解决这个问题 Windows Server 2012, IIS 8.5。应该也适用于其他版本。

Go to server manager, click add roles and features In the roles section choose: Web Server Under Security sub-section choose everything (I excluded digest, IP restrictions and URL authorization as we don't use them) Under Application Development choose .NET Extensibility 4.5, ASP.NET 4.5 and both ISAPI entries In the features section choose: NET 3.5, .NET 4.5, ASP.NET 4.5 In the web server section choose: Web Server (all), Management Tools (IIS Management Console and Management Service), Windows

您需要为您的网站文件夹设置权限或将其复制到wwwroot文件夹:) —如果设置权限,有2种方式: +右击到您的网站文件夹 +或右键单击您的网站在IIS => select编辑权限并添加权限(IUSR -默认iis用户) 祝你好运;-)

当我在我的web中指定了一个同名的默认文档(如index.aspx)时,也发生了这种情况。配置文件和我的IIS网站。我最终从IIS网站上删除了该条目,并保留了网站。配置条目如下:

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...