Windows Server 2008 R2 + IIS 7.5 - 无法找到资源

时间:2012-06-11 20:30:08

标签: asp.net iis-7.5 windows-server-2008-r2

我已将公司网络应用程序从Windows Server 2003迁移到Windows Server 2008 R2。这些都是.Net 2.0经典网络应用程序。它们似乎都运行正常,除非访问任何具有以/ Reports / ...

开头的路径的资源

在一个应用程序中,磁盘上的物理路径为c:\ Websites \ app_name \ WebService \ Reports ...在此报告文件夹中,PDF文件是动态生成并写入磁盘的。可以通过以下URL访问它们:

http://domain_name/Reports/xxxx.pdf

其中/ Reports是映射到上面物理路径的虚拟目录。这在2003服务器上运行良好。 IIS6但是在IIS7.5& 2008 R2我一直收到以下错误:

无法找到资源。

说明: HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

请求的网址: /Reports/xxxx.pdf

我有另一个动态生成报告的Web应用程序,并将它们直接流式传输到客户端浏览器以保存到本地磁盘,而不是写入服务器上的磁盘。与上面的示例类似,生成报告的页面位于路径下,如下所示:

/Reports/Viewer.aspx

在这种情况下,使用了 no 虚拟目录。浏览器中引用的URL是:

http://another_domain_name//Reports/Viewer.aspx

我再次收到与上面相同的错误消息... HTTP 404 - 无法找到资源。

我已经尝试了太阳下的所有权限设置,试图让它工作,但无济于事。我使用内置帐户,创建了具有从最小权限到完全管理权限的权限的新帐户。我也玩过新的AppPool身份而没有成功。我在目录上设置了哪些权限,或者为每个网站本身为应用程序池或基本设置配置的帐户,这似乎并不重要。

虽然我发现了,但是当浏览器收到HTTP 404错误时,每个网站的IIS日志文件中都没有出现此请求的记录!!这真让我感到困惑,因为我肯定希望在请​​求的资源上看到404日志条目失败。

还有其他需要注意的事项,我在此计算机上运行SQL Server 2008 Enterprise并安装并启用了Reporting Service。这是一个延伸,但是我的网站中的/ Reports路径与机器上运行的其他东西之间是否存在争议?我正在为服务器上运行的每个域和网站使用不同的绑定/主机头。

3 个答案:

答案 0 :(得分:2)

检查Reports folder conflict。请记住,Google比SO更快。

答案 1 :(得分:1)

IIS提供的404错误不仅仅是File Not Found这些天 - 所以它不会给攻击者太多的东西。查看事件日志(应用程序),并尝试从服务器本身访问它。

要检查的另一件事是您的IIS应用程序池已正确配置 - 尤其是使用正确的管道模式和.NET框架版本。

答案 2 :(得分:0)

在命令提示符下,键入:

netsh http show urlacl

查看是否存在与/reports/绑定的任何内容 - 可能是SQL Server Reporting Services安装中遗留下来的吗?

V / R BK