在Apache上调用GetFilterVersion到Tomcat重定向器ISAPI过滤器时出错 - 32位W2K8 SP2标准

时间:2012-11-09 20:27:51

标签: apache tomcat iis-7 isapi

我在尝试使用IIS 7中的Apache ISAPI重定向程序到Tomcat时出错,但仅在32位W2K8 SP2标准版上使用。

在64位W2K8 R2和32位W2K3上工作正常。

我已经确认我有正确的32位库(版本1.2.32或1.2.37)。事实上,完全相同的库可以在32位W2K3上运行。过滤器已启用并允许,并具有库文件夹和注册表项的权限。

当我重命名库时,我得到一个不同的错误:“在ISAPI过滤器上调用LoadLibraryEx ......失败” - 错误代码0x8007007e。我看起来不像是一个许可问题。

确切的错误文本是“在ISAPI过滤器上调用GetFilterVersion”...。\ isapi_redirector_1.0.dll“失败” - 错误代码0x80070002

错误日志显示:无法加载HTTP筛选器DLL ... \ isapi_redirector_1.0.dll。来源= IIS-W3SVC-WP。错误代码为02 00 00 00

所有指针都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

这可能有多种原因。一些最常见的是:

  1. 32位DLL没有解析某些依赖项。使用Dependency walker打开此DLL并检查其中的任何错误(跳过其中的警告)。在大多数情况下,所有依赖库都存在,在这种情况下,由于特定版本的VC可再发行组件不存在,可能会出现LoadLibraryEx错误(如果DLL是从VS 2010构建的,则需要VC 2010可再发行组件。)
  2. 此DLL的读取权限不适用于运行您网站的应用程序池。检查您网站的属性以查看用户,并确保该用户具有DLL的权限。