在上周末,我们的服务器pipe理员安装了两台装有IIS的虚拟Windows 2008计算机,并在NLB下进行设置。 我进来了,将网站运行的应用程序池更改为我们的域帐户,该帐户有适当的访问数据库和文件共享,托pipe我们的.NET Web应用程序Sitefinity,并将其更改为.NET 4 Integrated。 NLB和一切正常运行在两台服务器上。 他在星期二为我们的集群提供了第三台服务器,我也采取了同样的行动。唯一的区别是我获得了第三台服务器的pipe理员权限,所以我可以远程设置它,而不是去他的办公室。
他完全控制了\\hostname\Sitefinity上的共享和NTFS权限,我相信我只有读权限。 我指向该网站的其他\\hostname\Sitefinity\sitename共享,并通过身份validation/授权testing设置。 我从http://localhost该站点(就像我在尝试群集的IP地址之前从其他两个站点成功完成的那样),并且收到HTTP错误401.3 – 未经授权。 我已经多次validation应用程序池在相同的服务帐户下运行。
我试着只是一个简单的test.htm ..在前两个服务器都工作正常,但我得到了第三个相同的401.3。 我把我的开发项目复制到本地的inetpub目录,并重新指向网站,并完美地运行。
我打开失败的请求追踪,它的行为像它仍然运行本地IUSR帐户,我猜(而不是我的域帐户)? 以下是文件高速caching访问开始的摘录和跟踪中的错误:
FileName \\hostname\sitefinity\sitename\test.htm UserName IUSR DomainName NT AUTHORITY ---------- Successful false FileFromCache false FileAddedToCache false FileDirmoned true LastModCheckErrorIgnored true ErrorCode 2147942405 LastModifiedTime ErrorCode Access is denied. (0x80070005) ---------- ModuleName IIS Web Core Notification 2 HttpStatus 401 HttpReason Unauthorized HttpSubStatus 3 ErrorCode 2147942405 ConfigExceptionInfo Notification AUTHENTICATE_REQUEST ErrorCode Access is denied. (0x80070005) ----------
然后,我的个人AD帐户授予读/写权限到共享,所以我创build了一个新的应用程序池,并设置下的网站,以防应用程序池的问题,但没有成功。
我用自己的帐户创build了另一个,但仍然失败。 这似乎也许它不是试图访问我的应用程序池下运行的帐户下的文件,虽然这是我以前做过的事情的唯一方法。 我将网站上的高级设置中的Physical Path Credentials设置为服务帐户,并且抛出了某种types的500错误,所以我认为这不是答案(我不必在其他服务器上这样做)。 这就像我试图强制在IUSR帐户上冒充别人?
哇,我觉得有点愚蠢。 我注意到在运行的服务器上还有额外的.net 4应用程序池,但第一次没有足够的谷歌: http : //msdn.microsoft.com/en-us/library/ie/k6h9cz8h.aspx
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis -i
这就是它..在我的防守中,它被抛出的错误似乎离我很远! 🙂