【问题标题】:Getting 500 Internal server error from application deployed on IHS and WAS server从部署在 IHS 和 WAS 服务器上的应用程序获取 500 Internal server error
【发布时间】:2017-09-15 09:00:11
【问题描述】:

基于 Web 的应用程序间歇性地抛出“500 内部服务器错误”。此应用程序部署在 WAS 8.0 服务器上,IHS 和 WAS 服务器托管在不同的机器上。请在 IHS 端的 TRACE 级别插件日志下方找到。

DEBUG: ws_common: websphereExecute: Wrote the request; reading the response (timeout 900) 
DETAIL: lib_htresponse: htresponseRead: Reading the response: 64040a70 TRACE: lib_rio: Blocking for read, waiting 900 
DEBUG: lib_rio.c line 896 : Read failed, rc=104 
DEBUG: lib_htresponse: htresponseSetError: Setting the error to: |READ_FAILED|(1, Line: 713) 
DEBUG: ws_common: websphereExecute: Failed to read from an old stream; probably Keep-Alive timeout fired 
DEBUG: ws_transport: transportStreamDequeue: Checking for existing stream from the queue 
DEBUG: lib_stream: destroyStream: Destroying the stream 
DEBUG: lib_rio: rclose: socket 13 closed 
STATS: ws_server: serverSetFailoverStatus: Server xxxxx : pendingRequests 0 failedRequests 7 affinityRequests 57 totalRequests 51. 
ERROR: ws_common: websphereHandleRequest: Failed to execute the transaction to 'xxxxx' on host 'yyyyy'; will try another one 
ERROR: ws_common: websphereWriteRequestReadResponse: Failed to find an app server to handle this request 
ERROR: ESI: getResponse: failed to get response: rc = 10 DEBUG: ESI: esiHandleRequest: failed to get response 
DEBUG: ESI: esiRequestUrlStackDestroy 
DEBUG: ESI: cacheURL: '/site/index' 
DETAIL: ESI: esiRequestPopUrl: '/site/index' 
DEBUG: ESI: esiUrlDestroy: '/site/index' 
ERROR: [://site/index] ws_common: websphereHandleRequest: Failed to handle request rc=10 
DEBUG: ws_common: websphereCloseConnection 
DETAIL: ws_common: websphereEndRequest: Ending the request

请帮助我解决问题。提前致谢

【问题讨论】:

  • 您需要在 WebSphere 上的 SystemOut.log 中查看导致问题的原因。

标签: sockets stream websphere-8 ibmhttpserver


【解决方案1】:

rc=104 是 linux 返回码,表示套接字已被伙伴地址重置,因此您需要查看应用程序服务器是否有错误。

【讨论】:

  • 我检查了,但在请求时间戳期间没有在 WAS 端生成日志。您能告诉我以下错误的原因吗?是网络/防火墙相关还是 WAS/IHS 相关错误? “无法从旧流中读取;可能已触发 Keep-Alive 超时”
  • “未能从旧流中读取;可能触发了 Keep-Alive 超时”意味着插件在套接字上收到了通知,但没有可用数据。 “读取失败,rc=104”是操作系统返回码,ECONNRESET,对等方重置连接。我建议检查连接的网络跟踪,看看谁在重置连接。如果不是应用服务器,则可能是防火墙或端点之间的其他设备。
猜你喜欢
  • 2020-04-18
  • 2017-02-20
  • 2011-09-22
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多