我有两个服务器 - 一个生产和一个开发 - 在Windows Server 2008 R2上的IIS 7.5上运行ColdFusion 9.0.1.两者配置相同.我们有一个短暂的问题,经过几周到几个月的平稳运行时间,网站的某些部分(特别是CFIDE管理员门户网站和任何带有cfwindow标签的页面)将开始抛出"无法初始化类coldfusion.security.ESAPIUtils"错误.日志.
根据我几个月前卸载并重新安装所有热修复程序的一些 建议,五元组检查我是按照正确的顺序应用它们并遵循正确的指令集.
这并没有解决问题,但是当我梳理日志文件时,我注意到在jRun重启后,日志中出现了另一个与ESAPI相关的错误("无法以任何方式加载ESAPI.properties.失败.").我尝试添加了以下声明为java.args在jvm.config:
-Dorg.owasp.esapi.resources=E:\JRun4\servers\cfusion\cfusion-ear\cfusion-war\WEB-INF\cfusion\lib
Run Code Online (Sandbox Code Playgroud)
这似乎解决了几个月的问题; 没有错误,事情很好.然后,昨天生产服务器再次开始抛出错误.我尝试重启JRun并重启服务器,错误仍然存在.开发服务器非常好.
我尝试创建一个只是实例化和重写ESAPIUtils实例的脚本.在dev上,它会转储有关该对象的元数据; 在生产中,页面导致错误.
我已经和这个问题一直争吵了近一年.有时它会在几天后自行解决,有时会持续数周.我还没有找到一种"诱导"这种状况的方法,所以我们一直坚持使用似乎有效的一段时间的不可测试的"修复",然后不这样做.
这似乎是完全切向的,但我们已经有了内置IsImageFile()函数为有效图像返回false的实例.IsImageFile()怪异似乎开始于"无法初始化类coldfusion.security.ESAPIUtils"疯狂开始之前.
以下是服务器版本:
ColdFusion Version: 9,0,1,274733
Operating System: Windows Server 2008 R2 amd64 6.1
Web Server Software: Microsoft-IIS/7.5
Java JVM: 1.8.0_05 Oracle Corporation
JEE Server: JRun/4.0
Security Hotfixes (9.0.1): APSB13-27, APSB13-19, APSB13-13, APSB13-10, ColdFusion 9.0.1 Cumulative Hotfix 4 (APSB13-03, APSB12-26, APSB12-21, APSB12-06, APSB11-29, APSB11-14, APSB11-04, APSB10-18), ColdFusion 9.0.1 Cumulative Hotfix 3, ColdFusion …Run Code Online (Sandbox Code Playgroud)