2012-12-10 50 views
1

所以我看过类似的问题,比如here由于权限不足导致无法读取配置文件

我不能为我的生活找出什么是错的。我正在尝试安装一个asp.net网站。该网站存储在服务器的D:驱动器上。在IIS8(Windows Server 2012)中,我指向web.config文件所在的web文件夹。我给IIS_IUSRS群组读取了整个D:Drive以及属于IIS_IUSRS群组的IUSR和网络服务。我不断收到错误。我将身份验证设置为基本身份验证。我已重新启动该网站。我尝试过很多事情,但都遇到了困难。这全部在本地主机上。有没有人有任何更多的想法,为什么这可能会发生?它可能是我的网络配置中的配置?该网站正在从IIS7网站移植。如果你需要从我的webconfig中得到具体信息,我可以给你,但是很多信息都包含敏感信息。

错误:

HTTP错误500.19 - 内部服务器错误

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

详细错误信息:

模块 IIS Web核心

通知 的BeginRequest

处理器 尚未确定

错误代码 0X80070005

配置错误 无法读取配置文件,由于权限不足

配置文件 \ \ d:\应用程序\门户\ Portal.Web \ web.config中

请求的URL 本地主机:80 /门户

物理路径 d:\应用程序\门户\ Portal.Web

登录方法 尚未确定

登录用户 尚未确定

请求跟踪指南 C:\的Inetpub \日志\ FailedReqLogFiles

配置源: -1: 0:

回答

2

[1]。首先让它为匿名用户工作。然后收紧权限。

如果它不适用于匿名用户,请查找应用程序池的名称(在IIS中)。在IIS池中,查找应用程序池正在运行的标识。授予该帐户读取权限。

[2]。查看服务器日志(控制面板,管理工具,事件查看器,系统)以查看有关该错误的更多信息。

另外,请记住,任何以非匿名用户身份对网站进行身份验证的人都需要(读取)Web内容的权限。通过将“Everyone”组的读取权限临时授予web.config(在文件系统级别),可以测试/消除此问题。不要这样离开。只需使用这种方法来测试权限即可。

+0

这就是它!原来,我们必须切换应用程序池的名称。 – McSick

+0

“在IIS池中,查找应用程序池正在运行的身份,授予该帐户的读取权限”。你如何授予该帐户权限? – RayLoveless

+0

IIS配置为指向HDD上的文件夹(通常为c:\ inetpub \ wwwroot \)使用(文件)资源管理器,右键单击该文件夹的属性,安全性。确保该帐户在列表中,具有读取权限。 – tgolisch

1

您可以通过打开IIS管理器并检查应用程序池来查看运行该网站的用户。单击该站点正在使用的应用程序池,然后在“操作”窗格中选择“高级设置”。检查身份。如果它设置为ApplicationPoolIdentity,则需要将其添加到Web根文件夹。您可以通过手动输入“IIS APPPOOL * apppoolname *”来添加它,其中apppoolname实际上是您最初选择的应用程序池的名称。一旦你输入了名字,点击CheckNames,并且它应该解析为没有先前iis apppool的应用程序池的名称。

+0

对此的一些笔记:用户更正确的是'IIS APPPOOL \ apppoolname'(注意空间和反斜杠与上面的),并且您可能需要确保您将“位置”设置为本地计算机'在一个领域 - 这让我疯狂了几分钟。另外,即使您在2008非R2版上安装了IIS 7.5,也只能在2008R2/Windows 7上执行此操作!如果您在Vista或2008非R2上安装7.5,则必须转到Win 7或R2计算机,通过共享连接到文件系统,然后从那里添加权限。 –

+0

不知道在我之前的评论中\发生了什么事。感谢您的补充。希望它能帮助解决这个问题。 –

0

对于这个问题,似乎有很多非工作答案,因为他们是论坛发布它们。有时IIS很难。所以,如果上述行为不适合你,那么下面是一个列表命令,我工作的政府机构试图让他们的Server 2012机器工作。他们说,其中一些可能会失败,但只是忽略这些并继续。

简而言之,这些命令解锁了分层配置系统的一部分,以便您可以通过应用程序的web.config文件调整它们。包括与压缩有关的区域,静态内容, 希望这有助于!

重要:运行以下命令分别在具有管理员权限的命令(DOS)窗口(即右键单击命令提示符并选择以管理员身份运行)。

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD解锁配置-section:httpCompression

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD解锁配置-section:staticContent

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD设置配置/节:urlCompression/doDynamicCompression:真

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD设置配置/节:urlCompression/doStaticCompression:真

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD设置配置/部分:httpCo mpression /+staticTypes.[mimeType='text/*',enabled='true']/commit:apphost

%windir%\ system32 \ inetsrv \ appcmd set config/section:httpCompression /+staticTypes.[mimeType= 'message/*',enabled ='true']/commit:apphost

%windir%\ system32 \ inetsrv \ appcmd set config/section:httpCompression /+staticTypes.[mimeType='image/*',enabled= 'true']/commit:apphost

%windir%\ system32 \ inetsrv \ appcmd set config/section:httpCompression /+staticTypes.[mimeType='application/x-javascript',enabled='true']/commit :apphost

%windir%\ syst em32 \ inetsrv \ appcmd设置配置/部分:httpCompression/+ staticTypes。[mime类型= '应用/ JavaScript的',使能= '真'] /提交:APPHOST

%SYSTEMROOT%\ SYSTEM32 \ INETSRV \ APPCMD解锁配置/节:windowsAuthentication

%SYSTEMROOT%\ SYSTEM32 \ INETSRV \ AppCmd解锁配置/部分:anonymousAuthentication

相关问题