6 Oracle WebLogic Serverプロキシ・プラグインの実装に関するトラブルシューティング
Oracle WebLogic Serverプロキシ・プラグインの使用時に問題が発生することがあります。これらの問題の解決方法について説明します。
この章の内容は次のとおりです。
- Oracle WebLogic Serverのセッションの問題
Oracle WebLogic Serverプロキシ・プラグインは、リクエストをバックエンドのOracle WebLogic Serverまたはクラスタにルーティングします。Oracle WebLogic Serverでは、同一クライアントからの後続リクエストが同一サーバーにルーティングされるようにセッションを維持します。 - CONNECTION_REFUSEDエラー
場合によっては、負荷の高い状況下でいくつかのリクエストが失敗し、エラー・ログ・ファイルにエラーが記録されることがあります。 - NO_RESOURCESエラー
場合によっては、負荷の高い状況下でいくつかのリクエストが失敗し、エラー・ログ・ファイルにエラーが記録されることがあります。 - POSTデータ・ファイルの問題
/tmp/_wl_proxy
は固定ディレクトリで、HTTPサーバーのユーザーが所有します。異なるユーザーによって複数のHTTPサーバーがインストールされている場合は、一部のHTTPサーバーがこのディレクトリに書き込めない場合があります。このような状況では、エラーが発生します。
Oracle WebLogic Serverのセッションの問題
- リクエストが単一のOracle WebLogic Serverインスタンスにルーティングされる場合、Oracle WebLogic Serverプロキシ・プラグインは、
ConnectTimeoutSecs
とConnectRetrySecs
の比率で指定されている最大再試行回数まで、同じOracle WebLogic Serverインスタンスへの接続を試行し続けます。すべての試みが失敗すると、クライアントにHTTP 503エラー・メッセージが返されます。 - リクエストがWebLogicクラスタにルーティングされる場合、現在のOracle WebLogic Serverが不良とマークされ、リクエストは次の使用可能なOracle Weblogic Serverにルーティングされます。すべての試みが失敗すると、クライアントにHTTP 503エラー・メッセージが返されます。
HTTP 503エラー・メッセージが送信されるほか、レスポンスとしてHTTPクライアントで次のメッセージが表示されます。
Failure of Web Server bridge: No backend server available for connection: timed out after xx seconds or idempotent set to OFF or method not idempotent.
CONNECTION_REFUSEDエラー
場合によっては、負荷の高い状況下でいくつかのリクエストが失敗し、エラー・ログ・ファイルにエラーが記録されることがあります。
次のエラーがログ・ファイルに記録されます:
weblogic: Trying GET /uri at backend host 'xx.xx.xx.xx/port; got exception 'CONNECTION_REFUSED [os error=xxx, line xxxx of URL.cpp]: apr_socket_connect call failed with error=xxx, host=xx.xx.xx.xx, port=xxxx'
「CONNECTION_REFUSEDエラーを減らすためのヒント」で説明されているように、Oracle WebLogic Serverが最大許容バックログ接続に達した可能性があります。
解決するには、「CONNECTION_REFUSEDエラーを減らすためのヒント」で説明されているステップに従ってください。
NO_RESOURCESエラー
場合によっては、負荷の高い状況下でいくつかのリクエストが失敗し、エラー・ログ・ファイルにエラーが記録されることがあります。
次のエラーがログ・ファイルに記録されます:
weblogic: *******Exception type [NO_RESOURCES] (apr_socket_connect call failed with error=70007, host=xx.xx.xx.xx, port=xxxx) raised at line xxxx of URL.cpp
これは通常、Oracle WebLogic Serverがビジー状態でOracle WebLogic Serverプロキシ・プラグインからの接続リクエストに応答できない場合に発生します。WLSocketTimeoutSecs
の値を大きくすることで解決される場合があります。これにより、Oracle WebLogic Serverプロキシ・プラグインが、接続リクエストに対するOracle WebLogic Serverのレスポンスを待機する時間が長くなります。
POSTデータ・ファイルの問題
/tmp/_wl_proxy
の下にあります。Windowsの場合は、次の場所にあります(WLTempDir
を指定していない場合)。
- 環境変数
TMP
- 環境変数
TEMP
C:\Temp
/tmp/_wl_proxy
は固定ディレクトリで、HTTPサーバーのユーザーが所有します。異なるユーザーによって複数のHTTPサーバーがインストールされている場合は、一部のHTTPサーバーがこのディレクトリに書き込めない場合があります。このような状況では、エラーが発生します。
この問題を解決するには、WLTempDir
パラメータを使用して、POSTデータ・ファイル用の_wl_proxy
ディレクトリに別の場所を指定します。