我有一个运行IIS 7.5及更高版本的Web应用程序/网站,我试图configuration为使用多个应用程序池来分离function,以实现安全性和性能。 问题是当我创build和使用第二个应用程序池次要function不起作用。 该网站的其余部分工作正常,但只要我点击一个链接,使用辅助池中的资源(链接到下载zip文件的ISAPI DLL),它会提供一个服务不可用的消息(404)。
我已经尝试了许多configuration,包括为App池标识,物理path凭据,Windows文件权限,Windows共享权限等(包括对这两个应用程序池使用所有相同的权限)提供完全/pipe理权限而不更改。 这些文件在本地服务器上,而不是在networking上(尽pipe在某些情况下,它将通过networking运行)。 如果我在单个应用程序池下尝试相同的configuration,它可以很好地处理多种configuration,但是一旦我将主要网站function与辅助function分开,它就会中断。
似乎有一些独立的应用程序池覆盖资源的所有其他权限。 奇怪的是,我以前在10台以上的服务器上工作,并在某个时候停止工作,我不知道为什么。 我的猜测是有一个Windows更新,“修复”一个安全function,打破了configuration。 我简单地整理了应用程序池并且工作正常。 将来保持这种configuration将是有问题的,因为我们从COM转移到multithreading。
任何想法或想法? 我认为可能有一些应用程序池隔离安全性,我需要禁用或什么?
谢谢您的帮助。
兰迪
在IIS上为一个Web站点创build多个应用程序池的唯一方法是将该站点分割为多个应用程序,并始终拥有根应用程序和潜在的多个应用程序。
每个应用程序可以分配自己的应用程序池。
但是,在将网站分割为各种应用程序之后,它不再像单个实体一样运行,在网站的这些现在分离的部分之间有许多事情不能再做。
不知道细节,很难诊断为什么你的第二个应用程序池失败。 它可能在不同的帐户下运行,会话不再共享等。
IIS中没有固有的东西可以阻止你用各种appPools运行一个站点,但是每个应用程序都是它自己的东西。
如果你说它在10台服务器上工作过,现在它不能在所有服务器上工作,请检查你所做的configuration。 我不知道任何安全修复程序的Server 2008 R2改变了它的行为,至less从Service Pack 1以来。