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

Yas*_*een 458 asp.net iis-7 iis-manager

我想通过IIS上传我自己的asp.net网站IIS manager.但是当我这样做时,我得到以下错误

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:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
Run Code Online (Sandbox Code Playgroud)

我多次搜索此错误的解决方案,但没有一个解决方案解决了错误.

我在IUSR帐户中遇到问题.我无法在"组或用户名"中查看此帐户的属性web.config.

问题是什么?

bka*_*aid 628

如果站点配置为使用IIS URL重写模块但未安装它,也会发生这种情况.

  • 打的好.<rant>如果IIS会抛出"我不明白<rewrite>是什么"错误,而不是抱怨格式错误的XML,那就太好了.</ rant> (121认同)
  • 非常感谢 - 这也是我的问题.如果您看到<rewrite>标记,则会使用重写模块.有人会认为IIS可以告诉你什么是无法解析的. (6认同)
  • 很简单的方法来解决命令行中缺少的依赖性; webpicmd/Install/Products:UrlRewrite2 (6认同)
  • 我只想指出,如果您的web.config包含&lt;rewrite&gt;标记,那么您需要重写模块。 (2认同)

Yas*_*een 426

最后,我得到了解决问题的方法.ASP.net帐户没有出现在IIS管理器中,因为我没有在IIS中检查其复选框.要在Windows 7中执行此操作,请执行以下步骤:

  1. 打开控制面板
  2. 点击"程序"链接(不卸载程序)
  3. 单击"打开/关闭Windows功能"链接
  4. 在弹出窗口中找到"Internet信息服务IIS"并展开其节点
  5. 展开"万维网服务"节点
  6. 展开"应用程序开发功能"节点
  7. 选中"ASP.NET"复选框
  8. 然后单击确定按钮

现在,您将在IIS管理器上看到ASP.net帐户,默认情况下您将看到IIS帐户.现在,您应该将ASP.net网站从"我的文档"移动到IIS有权访问它的另一个地方(即计算机上的另一个分区).现在,从IIS管理器浏览您的网站,它应该工作.

非常感谢Jeff Turner的解决方案.

  • 解决了我的问题.IIS 8,MVC 4站点. (7认同)
  • 谢谢...他们如何发布具有如此低级别错误消息的产品? (4认同)
  • 解决了MVC 5,IIS 10的地雷问题.我检查了所有可用的ASP.NET版本. (3认同)
  • 使用命令行更简单:`dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET` (2认同)
  • 这必须标记为正确答案,非常感谢 (2认同)

int*_*ion 170

该消息表明您的配置文件在某种程度上已损坏.但是它也说它实际上无法访问配置文件.因此,我忽略了有关损坏/缺乏有效性的原始消息,因为这很可能只是由于缺乏授权而无法读取文件的影响.

它无法读取配置文件的原因是因为运行Web应用程序的进程无权访问文件/目录.因此,您需要为运行Web应用程序的进程提供这些权限.

访问权限应该相当简单,即至少读取,并且,根据您的应用程序,可能是写入.

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

该文件web.config中应该只有是通过应用程序进行访问.

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

即在IIS 7.5中,由于您没有为ApplicationPoolIdentity分配权限,可能会出现您引用的错误消息.您的Web应用程序属于应用程序池,因此您需要授予Web应用程序的应用程序池运行的OS帐户的权限.通常这类似于NetworkService,但您可能已将其定制为在专用帐户下运行.没有更多信息,很难帮助你.

  • 右键单击您需要提供安全权限的文件夹.这是发布应用程序的根文件夹,与IIS网站物理路径的文件夹相同.从上下文菜单中选择属性,然后单击"安全"选项卡.编辑用户,然后添加用户.单击"位置"按钮,然后选择顶部图标(看起来像"我的电脑").在文本区域中,输入IIS_IUSRS.反复按"确定",直到所有上下文菜单都关闭.重新启动您的网站并再次导航到它. (4认同)
  • 我可以通过编程方式提供此权限吗?请帮忙.我有同样的问题. (3认同)
  • 我不断收到“无法枚举容器中的对象。访问被拒绝。” 我同意之后 (2认同)

Sal*_*lim 54

在我的情况下安装IIS URL重写模块解决了这个问题.


Suk*_*ala 46

我遇到了同样的问题,这是适合我的解决方案.

  1. IIS管理器
  2. 右键单击该网站
  3. 编辑权限
  4. 从"安全"选项卡添加了用户"IIS_IUSRS"
  5. 获得用户'IIS_IUSRS'的完全权限
  6. 将应用程序池的标识设置为"ApplicationPoolIdentity"

  • 你的1-5为我修好了.谢谢sukhdev_zala (5认同)
  • 同样对我而言,你的1-5为我修好了. (2认同)
  • 我不建议将此用于生产目的。我相信IIS_IUSRS是一个匿名帐户,您将赋予它对网站整个目录结构的完全访问权限 (2认同)

Mic*_*ael 38

对于Visual Studio(VS)开发人员: 正如Harvey Darvey,Savage和Snives所暗示的,您的应用程序主机配置可能指向错误的应用程序物理路径.在/.vs/config/applicationhost.config中搜索virtualDirectory以更改physicalPath(如果不正确).

在此输入图像描述

确保physicalPath正确:

在此输入图像描述

  • 您也可以在project => properties => project url => create virtual directory中完成同样的操作,选择yes以在提示时重新映射到正确的物理路径 (3认同)

Jon*_*ell 24

Facepalm警报:

如果配置文件的路径错误,您也会收到此错误.仔细检查它以确保在IIS中正确输入物理路径.

  • 曾经有过相同的表情。我将网站移到了一个子文件夹,并认为我已经在IIS中正确键入了新路径。该站点似乎仍在IIS的树中显示在其下面的所有必需文件夹等,因此未将其作为触发原因。我重置了权限等,但没有解决。然后讨论一下这个问题,这是我的建议……然后,在浪费了1个小时之后,我现在又有了一个工作现场! (2认同)

yoe*_*alb 18

您需要在本地计算机上为IIS_IUSRS分配权限(但您不必为IUSR分配,实际上即使您明确拒绝权限也可以使用它).

要分配权限,只需右键单击文件夹,然后在安全选项卡上确保授予正确的权限,如果未列出用户,则单击"添加",然后输入IIS_IUSRS(并确保在"域"下的本地选择计算机,或输入名称字段YourLocalComputerName\IIS_IUSRS),然后你就可以了.

如果您希望可以而不是为IIS_IUSRS组分配权限,则可以改为分配给应用程序池,该应用程序池通常应为"IIS APPPOOL\app pool name ".


Tan*_*ati 10

我发生了同样的事情,请在选择网站时双击IIS 7右窗格中的连接字符串,尝试检查此项.

它会给你一个错误(web配置文件有一些问题),因为你使用了URL重写规则并且没有安装相应的组件.

安装"用于IIS 7的Microsoft URL重写模块2.0",这应该可以解决您的问题


Cel*_*elt 8

这里没有什么对我有用,我在另一个SO答案中找到了这个命令但它解决了我的问题.只需以管理员身份启动命令提示符并运行此命令:

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"
Run Code Online (Sandbox Code Playgroud)

图片来源:用户Vicxx


MrN*_*ams 8

安装 ASP.NET Core 模块

使用以下链接下载安装程序:https : //www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer


小智 8

要解决此问题,请确保您安装了托管包。

https://dotnet.microsoft.com/download/dotnet-core/3.1 在此处输入图片说明

  • 也解决了我的问题。虽然我需要一个更新的版本。截至 2022 年 5 月 19 日,最新版本似乎是 6.0。https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/hosting-bundle?view=aspnetcore-6.0 (3认同)

小智 7

我执行这些步骤来解决Windows Server 2012,IIS 8.5中的此问题.也适用于其他版本.

  1. 转到服务器管理器,单击"添加角色和功能"
  2. 在角色部分中选择: Web Server
  3. 在安全子部分下选择所有内容(我排除了摘要,IP限制和URL授权,因为我们不使用它们)
  4. 在应用程序开发选择.NET Extensibility 4.5,ASP.NET 4.5并且两个ISAPI条目
  5. 在功能部分选择:NET 3.5,.NET 4.5,ASP.NET 4.5
  6. 在Web服务器部分,选择:( Web Server所有),Management Tools(IIS管理控制台和管理服务),Windows


Isa*_*Bok 7

尝试安装本SO 中提到的 IIS 的“应用程序开发”子组件

  • 在搜索框中点击“开始按钮”,输入“打开或关闭windows功能”
  • 在功能窗口中,单击:“Internet 信息服务”
  • 点击:“万维网服务”
  • 点击:“应用开发功能”
  • 检查(启用)功能。我检查了除 CGI 之外的所有内容。

在此处输入图片说明


小智 7

只是凑巧,我收到了同样的错误,我的问题也很简单:我错过了.NET Core主机捆绑包。一旦我安装了该工具并重新启动服务器,就可以了。

您可以在此处找到在Windows上托管asp.net核心的手册:https : //docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view= aspnetcore-2.2


Jef*_*ner 6

确保将应用程序池设置为正确的框架版本.您还需要确保您的aspnet,IIS_IUSRS或IUSR用户具有对应用程序目录的读取权限.

  • 转到C:\ Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5 \并确保WebSite5目录具有IUSR和IIS_IUSRS组的读取权限.您可以通过右键单击目录并选择属性,然后转到安全选项卡来执行此操作. (5认同)

val*_*len 6

为我解决这个问题的另一种可能性:

IIS - >编辑权限 - >安全选项卡 - >为"用户"提供适当的权限(或IIS_IUSRS,具体取决于您的设置)


Fre*_*ing 6

嗯 我已将网站/文件移动到另一个文件夹。无需更改IIS网站中的路径。

你们可能现在都笑了。


the*_*erm 5

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

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

713947 次

最近记录:

6 年,4 月 前