Web 服务器插件故障诊断技巧
下列主题可能有助于您诊断有关 Web 服务器插件的问题。
- 复审文件 plugins_root/logs/web_server_name/http_plugin.log 以获取线索。在消息表中查找任何错误或警告消息。
- 查看 Web 服务器的错误日志和访问日志,以确定 Web 服务器是否遇到问题:
- IBM® HTTP Server 和 Apache:access.log 和 error.log。
- Domino® Web 服务器:httpd-log 和 httpd-error。
- Sun Java™ 系统:access 和 error。
- Microsoft IIS:timedatestamp.log。
如果这些文件没有揭示此问题的原因,那么遵循这些附加步骤。
插件问题确定步骤
![[HP-UX]](../images/hpux.gif)
- 插件获得一个请求。
- 插件检查 plugin-cfg.xml 文件中定义的路由。
- 它查找服务器组。
- 它查找服务器。
- 它挑选传输协议,HTTP 或 HTTPS。
- 它发送请求。
- 它读取响应。
- 它将其写回至客户机。
- 第一步是确定插件是否已成功地装入到 Web 服务器中。
- 检查以确保已创建 http_plugin.log 文件。
- 如果已创建,那么查看是否有任何错误消息表明在插件初始化期间发生的某类故障。如果查找下列节没有
发生错误,那么表明此插件启动正常。确保消息的时间戳记与 Web 服务器的启动时间一致:
[Thu Jul 11 10:59:15 2002] 0000009e 000000b1 - PLUGIN: ------------System Information---------- [Thu Jul 11 10:59:15 2002] 0000009e 000000b1 - PLUGIN: Bld date: Jul 3 2002, 15:35:09 [Thu Jul 11 10:59:15 2002] 0000009e 000000b1 - PLUGIN: Web server: IIS [Thu Jul 11 10:59:15 2002] 0000009e 000000b1 - PLUGIN: Hostname = SWEETTJ05 [Thu Jul 11 10:59:15 2002] 0000009e 000000b1 - PLUGIN: OS version 4.0, build 1381, 'Service Pack 6' [Thu Jul 11 10:59:15 2002] 0000009e 000000b1 - PLUGIN: --------------------------------------------
- 某些常见错误是:
- lib_security: loadSecurityLibrary:未能装入 gsk 库
- 未安装 GSKit 或者所安装的 GSKit 版本不正确。要确定发生了哪种情况:
在 Windows 平台上,搜索文件 gsk7ssl.dll。
在 UNIX 平台上,搜索 /usr/lib 目录中的 libgsk7*.so 文件。
如果找不到相应的文件,那么尝试重新安装 GSKit 版本正确的插件以查看这样是否能解决问题。
- ws_transport: transportInitializeSecurity:未设置密钥环
- 配置文件中定义的 HTTPS 传输过早终止,并且不包含密钥环和存储文件的属性定义。检查后跟错误消息的给定行号的 XML 语法,以确保 Transport 元素在被终止之前包含密钥环和存储文件的定义。
- 如果未创建 http_plugin.log 文件,请检查 Web 服务器错误日志以确定是否记录了任何与插件相关的错误消息,这些错误消息将指出未能装入插件的原因。典型原因包括未能针对 Web 服务器环境正确配置插件。请参阅与 Web 服务器插件配合使用的 Web 服务器的相关配置文档。
确定配置中定义的插件和各种应用程序服务器是否有网络连接问题。通常在这种情况下,您将会看到下列消息:
ws_common: websphereGetStream:未能连接到应用程序服务器,操作系统错误=%d
其中 %d 是与 connect() 调用失败原因相关的特定于 OS 的错误代码。产生此错误的原因有很多。- Ping 这些机器以便确保它们正确连接到网络。如果不能 ping 这些机器,插件就无法联系到它们。可能会造成此问题的原因包括:
- 防火墙策略限制从插件到应用程序服务器的流量。
- 机器不在同一网络中。
- 如果您能 ping 这些机器,那么问题的可能原因是端口处于不活动状态。因为未启动应用程序服务器或集群,或者由于某些原因应用程序服务器已关闭,端口可能处于不活动状态。要验证是否是这个问题,可以尝 试手动通过 telnet 到连接失败的端口。如果您无法 telnet 到端口,那么应用程序服务器未启动并且插件能 够成功连接之前,必须先解决该问题。
- Ping 这些机器以便确保它们正确连接到网络。如果不能 ping 这些机器,插件就无法联系到它们。可能会造成此问题的原因包括:
- 确定安装服务器的机器上的其他活动是否在降低服务器为请求提供服务的能力。检查由任务管理器、处理器标识或一些其他外部工具测量的处理器使用率,以查看是否它:
- 不是所期望的。
- 是变化的而非常量。
- 显示未使用新添加的集群成员。
- 显示未使用已修正的失败成员。
- 检查管理控制台以了解服务器状态。
检查管理控制台以确保应用程序服务器已启动。查看管理控制台以获取错误消息或查看 JVM 日志。
检查管理控制台以确保应用程序服务器已启动。查看管理控制台以获取错误消息。
- 在管理控制台中,选择问题应用程序服务器并查看其已安装的应用程序以验证是否它们已启动。
- 有关可导致 Web 页面及其内容不显示的特定问题,请参阅信息中心中不显示的 Web 资源(JSP 文件、Servlet、html 文件和图像等)。
- 使用诊断和修正问题:学习资源中的链接检查是否已标识和记录了此问题。
- 如果没有看到与您的问题类似的问题,或所提供的信息未解决您的问题,请联系 IBM 技术支持以获取进一步的帮助。
当 Web 服务器使用不安全传输时的行为更改
如果定义了安全传输和不安全传输并且由于系统故障而无法获取安全传输,那么 Web 服务器插件将使用不安全传输。这是缺省行为。
此行为已在 WebSphere Application Server V8.5.5 中更改。如果在尝试进行安全连接时发生系统故障并且有不安全传输,那么 Web 服务器插件将不使用该传输。将通知管理员该问题,并且管理员可以使用安全连接来修正该问题。
- 更正 SSL 问题,以使 HTTPS 传输可用(这是建议的选项)。
- 如果不使用 SSL,请除去 HTTPS 传输,并重新生成插件。
- 在 plugin-cfg.xml 文件中设置 UseInsecure=true,以还原先前的缺省行为。
如果要还原为先前的缺省行为,那么您可以通过在管理控制台中设置定制属性来启用它。选择 Web 服务器 -> <webserver_name> -> 插件属性 -> 定制属性,然后将 UseInsecure 设置为 true。
如果 HTTP Server 不是受管服务器(未显示在管理控制台中),那么您必须手动编辑
plugin-cfg.xml 文件。有关更多信息,请参阅“安装并配置 HTTP Server for z/OS V5.3 的插件”主题。
如果要还原为先前的缺省行为,那么您可以通过在管理控制台中设置定制属性来启用它。选择 Web 服务器-><webserver_name>->插件属性->定制属性,然后将 UseInsecure 设置为 true。
有关 IBM 技术支持提供的已知问题及其解决方案的最新信息,请参阅 IBM 技术支持页面。在打开 PMR 之前还应先阅读此页面,原因是它包含可节省收集解决问题所需信息的时间的文档。