为什么我为 Tomcat 设置的 Jakarta 连接器不起作用?
似乎每次我们要安装 Jakarta Connector 来与 IIS 一起运行时,都会出现无法解释的问题。我发布这个问题只是为了在一个地方收集不同问题的答案。
答案1
- 检查日志
查找 jakarta iis 模块日志来诊断问题。如果没有创建日志,则问题在于模块加载/运行或配置错误。
如果创建了日志,请在 jakarta 模块设置中启用调试级别输出以帮助您诊断问题。
- IIS 设置
检查 Jakarta 过滤器模块是否有绿色向上的箭头,而不是红色的箭头。如果是红色的,请检查应用程序事件日志。如果日志中没有任何内容,请向应转发到 tomcat(即在 tomcat 中运行的网站的(子)域)的 Web 服务发送请求
- 事件日志
Windows 中的事件日志应用程序可以为您提供有用的提示。这里收集了一些可能的原因:http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO_Diagnose_and_Fix_Common_ISAPI_Filter_Installation_Failures.aspx
消息的“数据”部分(例如 02 00 00 00)是错误代码,可能来自 Windows 或 dll。如果来自 Windows,您可以使用:“NET HELPMSG 2”以明文形式获取消息。
如果出现 02(文件未找到)或 05(拒绝访问),您可以尝试使用 Sysinternal 的 FileMon 实用程序来查明无法加载的具体文件。它可能是 dll,也可能是它的某个配置文件(也可能是其他完全不同的东西 :-)。
- 配置文件
在一些安装说明中,它说您可以将 jakarta 设置放入注册表中。这对我不起作用! 我必须把它们放到文件中!
如果注册表设置不起作用,并且您确定正确拼写了键并将它们放在正确的位置 - 并且 IIS 用户可以读取它们 - 请尝试使用配置文件。
当然 - 确保您的配置文件正确。Jakarta 日志将帮助您完成此操作。