我有许多 Tomcat 服务器使用较旧的 32 位版本的 isapi_redirect.dll,其中我将默认应用程序池设置为启用 32 位应用程序。在客户端服务器上,他们需要在同一个应用程序池下安装另一个不能与 32 位配合使用的 ISAPI。
我正在尝试将 isapi_redirect.dll 更新为 64 位。我tomcat-connectors-1.2.40-windows-x86_64-iis.zip
从这里。我禁用了默认应用程序池的 32 位支持并浏览到 localhost。我没有收到错误,而是只看到 IIS 7 默认欢迎页面。如果我从其文件夹中删除 isapi_redirect.dll,则不会收到错误。我认为这意味着 IIS 甚至没有尝试查找 .dll。
我是否需要启用或更改其他内容以允许 Tomcat 使用 64 位 isapi 过滤器?
我遵循类似的设置这,但我有一个 isapi_redirect.properties 文件而不是注册表项,并且文件夹不同。这适用于我的 32 位 isapi 过滤器。我确实尝试过使用 64 位 isapi 过滤器的注册表方式,但也没有成功。
答案1
我让它工作了。
问题是我只替换了 DLL 文件本身,还禁用了默认应用程序池的 32 位模式。当我这样做时,它不起作用。
我返回并删除了虚拟目录、ISAPI 筛选器以及 ISAPI 和 CGI 限制,然后重新启动 IIS。
重新启动后,我安装了带有 64 位 ISAPI 筛选器的所有内容,并且它在没有启用 32 位模式的情况下工作。我没有更改任何配置文件,因此看来删除所有设置并重新配置是解决问题的办法。