密钥集不存在/身份无效

loc*_*ice 6 iis windows-server-2012

注意:我在这里发现了几个类似的问题,但是那个被解决的问题对我来说并不适用.所以我想我会开一个新问题.

我重新启动了我们的服务器2012框,它托管我们新的.net应用程序.这样做之后,我开始收到503错误.经过调查,这似乎是一个身份问题.

在进一步说明之前,我应该说这个帐户已经工作了几个月了.我以前重新启动过,一切都很顺利.

所以我在日志中得到(很常见的)5059,5057和5021错误.他们归结为:

应用程序池SVFileUpload的标识无效.为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限.如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池.如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识.如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池.数据字段包含错误编号.

我想我只是确保密码和帐户是正确的,所以我去应用程序池,选择identity-> custom并确保它设置正确.我收到一个错误:

执行此操作时出错.详细信息:键集不存在(HRESULT异常:0x80090016)

这对我来说很奇怪,所以我尝试将应用程序池设置为内置帐户,并且工作正常.每当我尝试设置自定义帐户时,我都会收到此错误消息.此外,不会运行使用自定义帐户的应用池.

我用Google搜索了一下,不确定哪个错误是我需要跟踪的.我试过了:

  • 通过aspnet_工具在命令行上注册帐户
  • 确保用户位于IIS_IUSRS组中
  • 更改C:\ ProgramData\Microsoft\Crypto\RSA\MachineKeys文件的权限
  • 添加一个全新的用户并尝试将应用程序池设置为该用户帐户

我在Google上尝试了几个随机的东西,但我不记得了.

这个错误对我来说没有意义,而且似乎是随机的.我需要帮助搞清楚1)为什么我不能将应用程序池设置为自定义帐户以及2)为什么身份不再适用于我的应用程序

-Edit
我最近删除并重新添加了我一直在使用的用户帐户.我认为这解决了这个问题.剩下的问题是我无法更新应用程序池,因为"keyset不存在"错误.

loc*_*ice 16

我发现了几个链接,这使我找到了解决方案.

在c:\ windows\system32\inetsrv\config\applicationHost.config中,我删除了所有configProtectedData条目.

然后我删除了%ALLUSERSPROFILE%\ Microsoft\Crypto\RSA\MachineKeys中的所有内容

我从inetsrv目录运行了iissetup.exe/install SharedLibraries,导致"Failed = 0x80070005"

然后,我能够设置我的应用程序池,好像什么也没发生.

  • 所以我和你 ebol2000 有同样的问题。我有这个“价值不在预期范围内”。每次我尝试应用应用程序池设置时。经过所有的反复试验,我发现如果您设置了自定义帐户并接受,直到出现错误,我回到自定义帐户,单击“设置”,然后取消设置,以免覆盖凭据。然后我再次单击“确定”然后“确定”,它似乎起作用了。我又做了 4 次,每次都解决了。(旁注,我什至匹配了我的用户名的大写,如果有帮助的话) (3认同)

小智 6

我运行了 iisreset 命令并解决了我的问题