事件查看器中的IIS(10)错误(资源标识符解密失败)

问题描述 投票:0回答:1

我最近将承载在IIS 10服务器上的.net Web应用程序(v3.5)移至IIS 10服务器上,此后该应用程序自身进行了两次回收,一切都中断了。我手动回收了IIS一次,该应用程序开始运行,但是现在我在eventviewer日志中不断弹出这些警告,而且我不知道如何解决此问题。该应用程序似乎运行正常,但由于已填满整个eventviewer应用程序日志,因此这些警告有些令人担忧。有人可以阐明发生了什么吗?我在此上找到了一个相关的线程,但并没有真正找到解决方案,如果有人可以插进去,那就太好了。错误如下,

3012 
   An error occurred processing a web or script resource request. The resource identifier failed to decrypt. 
   5/25/2020 1:27:56 PM 
   5/25/2020 7:57:56 AM 
   709f3592d2ad4343bf5965471b800362 
   1621 
   516 
   0 
   /LM/W3SVC/1/ROOT-1-132348489440653768 
   Full 
   / 
   C:\inetpub\wwwroot\ 
   ERP-APP 

   20172 
   w3wp.exe 
   IIS APPPOOL\DefaultAppPool 
   HttpException 
   Unable to validate data. at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, Boolean signData) at System.Web.UI.Page.DecryptString(String s, Purpose purpose) at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)  
   http://192.0.1.26/AppWeb/WebResource.axd?d=CO7ammFOcmKBQVIxHLAoEA2&t=633735960628463707 
   /AppWeb/WebResource.axd 
   192.0.1.1 

   False 

   IIS APPPOOL\DefaultAppPool 
   1016 
   IIS APPPOOL\DefaultAppPool 
   False 
   at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, Boolean signData) at System.Web.UI.Page.DecryptString(String s, Purpose purpose) at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context 
c# asp.net iis-10
1个回答
0
投票

警告的原因是IIS主机上的machineKey不足以解密服务器上存在的某些信息。

要解决此问题,您可以尝试以下操作:

1)手动将解密密钥放入您的web.config:

<machineKey decryptionKey="..." />

2)使用iis Manager GUI机器密钥功能并在两个IIS服务器上配置相同的机器密钥。

  • 打开iis管理器,选择您的站点。

  • 双击中间窗格中的计算机键功能。

  • 从“在运行时自动生成”选项中删除该复选框,然后单击“生成密钥”。

enter image description here

  • 单击操作窗格中的Apply。

  • 转到第二台服务器上的IIS,并将第一台服务器上生成的密钥分别粘贴到计算机密钥上。

  • 进行更改后重新启动两个iis服务器。

© www.soinside.com 2019 - 2024. All rights reserved.