我发现 Coldfusion 8 和 IIS 7 的行为非常奇怪。
在 IIS 上,声明了一个站点,其中一个子目录是指向本地文件系统的虚拟目录。除了子目录之外,一切正常。突然,当我尝试访问子文件夹时,我收到错误 403 访问被拒绝。
我放置了一个简单的 CFM 页面来进行测试:
<html>
<head>
</head>
<body>
<cfoutput>Test</cfoutput>
</body>
</html>
此请求有效:http://myserver/vDir/fckeditor/editor/test.cfm
以下代码会触发 403:http://myserver/vDir/fckeditor/editor/filemanager/test.cfm
我检查了以下内容,并没有发现任何区别:
- NTFS 权限 -> 两个目录相同。运行 ColdFusion 服务的用户拥有“完全控制”权限
- IIS 身份验证 -> 两个文件夹相同
- 授权规则 -> 两个文件夹相同
- 处理程序映射 -> 两个文件夹相同
我打开了失败请求跟踪并添加了一条规则来捕获该事件。看来通配符 Coldfusion ISAPI 过滤器实际上引发了异常:
调用ISAPI扩展:
DLL名称Coldfusion安装路径\运行时\lib\wsconfig\1\jrun_iis6_wildcard.dll
模块设置响应错误状态:
模块名称 IsapiModule
通知 128
Http状态403
HttpReason拒绝访问。
HttpSubStatus 0
错误代码 0
ConfigExceptionInfo 通知
EXECUTE_REQUEST_HANDLER ErrorCode 操作成功完成。(0x0)
有人知道如何解决这个问题吗?
PS:这个问题已在 StackOverflow 上发布https://stackoverflow.com/questions/7270560/error-403-while-getting-cfm-page
答案1
查看本文,这似乎准确地描述了您所看到的情况。