旧的DNN网站(.NET v2.0)随机停止工作,“无法加载文件或程序集'System.Data'或其依赖项之一,”[关闭]

yrefmtwq  于 2023-05-19  发布在  .NET
关注(0)|答案(2)|浏览(136)

**关闭。**这个问题是not about programming or software development。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
6天前关闭。
Improve this question
我们有一个旧的服务器运行一些旧的DNN网站。今天,两个网站随机停止工作,都显示“HTTP错误503,服务不可用”。我做了一些研究,发现通过在应用程序池中将“启用32位应用程序”切换到[False],我摆脱了503错误。现在,其中一个站点(DNN 5)工作正常,但另一个站点(DNN 4)出现新错误 “无法加载文件或程序集'System.Data'或它的某个依赖项。试图加载格式不正确的程序。" 我做了更多的研究,这似乎也与32/64位问题有关。我不明白为什么这两个网站会随机出现这样的故障。在服务器上运行的所有站点中,只有这两个站点将“启用32位应用程序”设置切换为[True]。所有其他网站(都在工作)都设置为[错误]。我没有建立任何这些网站,我没有VB工作室。我只能访问服务器和里面的所有文件。我检查了我的备份,web.config文件根本没有改变。这可能是怎么回事?
更新感谢米切尔·塞勒斯提供的信息。非常有帮助。我认为这可能是一个恶意的问题。这是我的发现那个“SystemData.dll”实际上是一个32位文件,所以我继续将“Enable 32-bit”设置为true。这样做会导致这个新的错误/崩溃:“模块DLL C:\Windows\System32\inetsrv\HTTPCacheLog.dll加载失败。现在,我不知道为什么这个dll加载失败,但我确实注意到了一些事情。此dll是在站点开始崩溃时创建的。当我去备份时,这个dll不存在于备份中。有没有一种方法可以禁止网站尝试加载此dll?我用Windows Defender和Malwarebytes扫描了它,它出来了,但当我在谷歌上搜索该文件时,我得到的最高结果显示它是恶意软件:https://www.joesandbox.com/analysis/861221/0/html
更新2:我终于修好了。我发现C:\Windows\System32\inetsrv\Config\applicationHost.config中有一些新的条目,有些正在调用奇怪的HttpCacheLog.dll文件。所以我从备份中恢复了配置文件。网站都恢复了

syqv5f0l

syqv5f0l1#

与这些网站一样古老,在目前的日子里,这是有点难说,但有几件事,我可以告诉你肯定的。

  • 除非服务器上有更新/更改,否则通常不会切换应用程序池的位数。因此,在您的情况下,禁用32位很可能是加载其他内容失败的原因。
  • 有时如果DNN失去了与数据库的连接,您可能会收到503,通常情况下,站点的停止/启动可以将其恢复,如果它是暂时的
  • 在您使用的旧版本中,应该仍然会在文件夹/portals/_default/logs中创建一个包含错误详细信息的日志文件。你可以在那里寻找迹象

考虑到网站的年龄和当前的环境,恶意行为者也很有可能是问题的原因。其中一些可以反映在日志文件中。针对DNN平台的5.x版本记录了100多个安全漏洞。

k3bvogb1

k3bvogb12#

我终于修好了。我发现C:\Windows\System32\inetsrv\Config\applicationHost.config中有一些新的条目,有些正在调用奇怪的HttpCacheLog.dll文件。所以我从备份中恢复了那个配置文件,瞧。网站都恢复了我不知道为什么Defender和Malwarebytes都没有抓住恶意软件,但它看起来像是恶意运行并编辑了IIS配置以使用新的.dll并将一切搞砸。

相关问题