環境変数SM_ENABLE_TCP_KEEPALIVEについて
search cancel

環境変数SM_ENABLE_TCP_KEEPALIVEについて

book

Article ID: 134938

calendar_today

Updated On:

Products

SITEMINDER CA Single Sign On Agents (SiteMinder)

Issue/Introduction

この技術情報ではWeb Agent/Policy Server両方で利用可能な環境変数SM_ENABLE_TCP_KEEPALIVEについて説明します。環境変数SM_ENABLE_TCP_KEEPALIVE を利用することによってWeb AgentとPolicy Server間の通信失敗で生じるPolicy Server, Web Agentの問題を解決することができます。

Environment

Release: r12.8.x, r12.5x

Component: SMPLC, Web Agent

Resolution

Policy Server

Web AgentとPolicy Server間の通信において、Policy ServerがWeb Agentからのリクエストの処理中に(例えばWeb Agent側のネットワーク停止などで)Web Agentがオフラインになった場合、Web AgentとPolicy Server間の通信失敗が生じます。

この時、Web AgentがPolicy Serverにこの通信失敗を通知しないとPolicy ServerはWeb Agentからのデータを待機し続けます。Web Agentがネットワーク機能を回復しPolicy Serverとの接続を閉じた後も、Policy Serverはそれを検知できないため待機を続けます。

Policy Serverはワーカースレッド単位でWeb Agentとの通信を行っていますが、Web Agentがオフラインになると、Web Agentからのリクエストを処理しているPolicy Serverのワーカースレッドすべてが開放されなくなるため、Policy Serverが反応しなくなりハングする可能性があります。

Policy Server側コンピュータで環境変数SM_ENABLE_TCP_KEEPALIVEを作成・有効にすると、Web Agentのアイドル状態の接続に対してKeepAliveパケットを送信するようにPolicy Serverが設定されます。Policy ServerはKeepAliveパケットに対する応答エラーを検知するとWeb Agentのアイドル状態の接続をクローズします。これにより問題を回避することができます。

 

Web Agent / Access Gateway (SPS) / AdminUI

同様に(Policy Server側のネットワーク停止などで)Web AgentとPolicy Serverとの通信が切断された場合、Web Agentは切断を検知できず、その通信を使用し続ける状況が発生する可能性があります。この場合、Webページにアクセスしようとすると、HTTP 500エラーが返される場合があります。

Web Agent側のコンピュータで環境変数SM_ENABLE_TCP_KEEPALIVEを作成・有効にすると、上記同様にWeb Agentのアイドル状態の接続を検知・クローズしPolicy Serverへ再接続するため、この問題を回避することができます。

 

推奨設定

KeepAlive パケットを送信する間隔は、OS 固有の TCP/IP KeepAliveパラメータに基づいて決まります。TCP/IP パラメータ設定の詳細については各OS のドキュメントを参照してください。

Web Agent/Policy Server両方においてはネットワーク停止などへの予期しない障害に対する予防的な対策として、TCP/IP KeepAliveパラメータの適切な値の設定と、環境変数SM_ENABLE_TCP_KEEPALIVEを有効にすることが推奨されます。

 

環境変数SM_ENABLE_TCP_KEEPALIVEを有効する方法

以下はWeb AgentとPolicy Serverの両方で共通の手順となります。

Windows:

以下のシステム環境変数を作成して値を1に設定します。

SM_ENABLE_TCP_KEEPALIVE

UNIX/Linux:

a. 以下のシステム環境変数を作成します。

SM_ENABLE_TCP_KEEPALIVE=1

b. 環境変数をエクスポートします。

Additional Information

Article ID: 15634 - Verify SM_ENABLE_TCP_KEEPALIVE is working on Web Agent - Policy Server

ドキュメント:

Policy Server Hangs after Web Agent Communication Failure

Enable KeepAlives When Agents and Policy Servers are Separated a Firewall