IIS6:如何解决 ASP.NET 应用程序中的 404 错误?

Tom*_*lak 5 windows-server-2003 permissions iis-6 asp.net web-applications

我在 Windows Server 2003/IIS6 上有一个 ASP.NET 应用程序,由于某种原因拒绝运行(如果该信息有帮助,它是 Xerox 中心)。虽然在这台服务器上它之前一直工作得很好。

现在,如果我尝试打开应用主页 ( http://some.intranet.server/XeroxCentreWareWeb/) ,我得到的只是“404 - 找不到文件或目录”错误。

  • 该应用程序配置为在它自己的应用程序池中运行,该应用程序池作为网络服务运行。
  • 网络服务帐户对配置的目录具有读取权限。
  • 如果我停止应用程序池,我会收到预期的“服务不可用”消息,这意味着应用程序及其池已正确连接
  • 我试图用 procmon 追踪任何文件权限问题 - 什么也看不见。页面加载时甚至无法访问 Web 应用程序目录。
  • 有趣的是,根据 procmon,Web 服务器首先访问 401-2 自定义错误文件(由于服务器配置导致登录失败),然后决定将 404 向下发送到客户端。
  • 编辑:该应用程序使用 Windows 集成身份验证运行。普通用户也可以访问 app 目录(如果有的话,我会注意到 procmon 中的文件系统“拒绝访问”消息。

这让我觉得甚至在访问应用程序文件之前就发生了某种奇怪的权限问题。我只是不知道在哪里看。

我尝试将应用程序池作为本地系统运行进行测试,但无济于事。

在这种情况下我还能检查什么?

Tom*_*lak 2

我发现的答案既简单又不明显。

\n\n

仍然有一个“通配符应用程序映射”定义为不再存在的应用程序服务器(在本例中为 ColdFusion)。ColdFusion 卸载程序显然“忘记”从元数据库中删除该设置。

\n\n

通配符应用程序映射定义如下:

\n\n
    \n
  • 在 IIS 管理器中,打开“应用程序属性”对话框
  • \n
  • 在“虚拟目录”选项卡上,查看“应用程序设置”部分
  • \n
  • 单击“配置\xe2\x80\xa6”
  • \n
  • “应用程序配置”对话框打开
  • \n
  • 就在那里,在“映射”选项卡上
  • \n
\n