我已经从 ColdFusion 9 升级到 ColdFusion 11。安装是一个并排的内部网络服务器。迁移后,我运行 wsconfig 将我的 4 个网站连接到 IIS。网站不工作,我得到HTTP Error 404.7 Not found
. 请求过滤模块配置拒绝文件扩展名?我创建了一个测试网站,其中包含两个简单的 Hello World 文件,一个是 html,另一个是 cfm。html 工作,我可以让 cfm 文件工作而不收到此消息的唯一方法是进入 IIS,单击我的 TEST 网站,请求过滤,编辑功能设置,然后选中允许未列出的文件扩展名。据我了解,这基本上可以处理任何事情。对于我们的超安全网站,这不会是一个选项。
想到两个问题:
为什么在网站正常运行之前我必须在升级后执行此操作?我的 cfm 页面应该在不更改此 IIS 设置的情况下进行处理。IIS 中没有显示任何 ColdFusion 扩展被设置为拒绝。applicationhost.config 或 web.config 中没有任何内容显示任何 ColdFusion 扩展设置为拒绝。
为什么我的网页无法正常工作?我无法通过指向 configuration.cfm 文件的 configuration.cfc,该文件检查用户、服务器以授予用户访问正确页面的权限。显然 ColdFusion 11 与 ColdFusion 9 中存在不同的配置,但我找不到。我所有的错误消息都指向 IIS 是问题的根源,我没有改变这一点,除了在创建连接时创建不同的 web.config 文件的 wsconfig 文件。
我开始翻阅所有和所有创建的日志文件,以便将运行 cfm 页面时创建的任何内容放入文档中,看看是否能找到任何可以告诉我正在发生的事情的内容。我的团队负责人认为我需要查看可能存在阻止处理页面的外部/内部 Tomcat 冲突。
今天的确切错误消息是:
错误摘要
HTTP 错误 404.7 - 未找到
请求过滤模块配置为拒绝文件扩展名。详细错误信息
Module RequestFilteringModule
Notification BeginRequest
Handler ISAPI-dll
Error Code 0x00000000
Requested URL http://{ipaddress}/jakarta/isapi_redirect.dll
物理路径 D:\ColdFusion11\config\wsconfig\5\isapi_redirect.dll
登录方式 未确定
登录用户尚未确定最可能的原因:
为 Web 服务器配置了请求过滤,并且此请求的文件扩展名被明确拒绝您可以尝试的事情:
验证 applicationhost.config 和 web.config 中的 configuration/system.webServer/security/requestFiltering/fileExtensions 设置。