我的设置:W2K8-R2 IIS7.5 x64 位服务器(但应用程序池以 32 位运行)
我们有一个在“ApplicationPoolIdentity”下运行的 (.net 4.0) Web 应用程序。它启用了“Windows 身份验证”。 Web 应用程序调用不同(旧版 - W2K3 II6)Web 服务器(同一域)上的 Web 服务。 Web 服务也需要 Windows 身份验证。
在我们的一些 Web 服务器上,这效果很好,我可以看到 Web 应用程序调用 Web 服务并将其自身标识为它正在运行的 Web 服务器的计算机名称(如预期)。然而,在其他 Web 服务器上,应用程序在调用 Web 服务时不会识别自身,从而收到 403 错误(通过查看 Web 服务的 IIS 日志可以确认这一点)。
我比较了可以工作的网络服务器和不能工作的网络服务器,但没有发现任何显着差异。 (我比较了两个站点的 ApplicationHost.Config 文件,除了一些加密 key 之外,它们是相同的)。
对于什么可能导致坏机器上的应用程序池身份放弃识别自己有什么想法吗?我们是否在一台网络服务器上设置了一些东西,而在另一台服务器上却错过了它?
如果没有,有人可以推荐可用于追踪正在发生的情况的工具吗?
感谢您的帮助。
最佳答案
对于发现此问题的其他人,可以在多个地方找到答案:
- Granting write permissions to a networked UNC folder for ASP.NET under IIS 7.5 and Windows Server 2008 R2
- IIS application using application pool identity loses primary token?
- DirectoryServicesCOMException 80072020 From IIS 7.5 Site Running Under ApplicationPoolIdentity
- ApplicationPoolIdentity cannot access network resources
- https://serverfault.com/questions/217547/applicationpoolidentity-iis-7-5-to-sql-server-2008-r2-not-working
摘要:安装 MS HotFix KB2545850并在KB2672809中了解有关此错误的详细信息它还展示了如何重现此问题。
关于iis-7.5 - ApplicationPoolIdentity无法访问网络资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6867368/