ストリーム・ルーティングの設定
著者: 森 洋久 / joshua@globalbase.org ※
*
概要
*
この作業の前提となるシステム用件
*
[ステップ1] エージェントの許可
*
[ステップ2] 実際のルーティングの設定
*
[ステップ3] ルーティングのデバッグ方法
概要
ver.B.b17.03以降のLANDSCAPEサーバでサポートされています。従って、ver.B.b17.02以前のサーバではこの章は読み飛ばしてください。
ストリーム・ルーティングとは、一種のプロキシーであって、ファイヤーウォールやフィルター等のために、外部のサーバへのアクセス制限がある場合に利用します。特に、LANDSCAPEサーバがあるエリアから外部への接続が制限されている場合、サーバ同士のコミュニケーションが制限されるため、正常なデータの公開が出来なくなります。そのような場合、すべての外部への接続をある、外部接続を許可された一つのLANDSCAPEサーバ経由で外部へ送り出すように設定する必要があります。このような場合にストリーム・ルーティングを使います。
上記のような接続制限がない環境でLANDSCAPEサーバを利用する場合は、この章は必要ありません。
▲
ページトップへ戻る
この作業の前提となるシステム用件
▲
ページトップへ戻る
[ステップ1] エージェントの許可
既にインストールされているサーバをver.B.b17.03のLANDSCAPEへアップデートする場合、アップデート作業後、ストリーム・ルーティングに関係したエージェントを許可する必要があります。ver.B.b17.03から、/usr/local/xl-gbs/xlconf/std/agent.definition.xl.EXAMPLE というファイルがインストールされます。これは設定例を示すファイルで、実際の動作には影響を与えません。このファイルの最後の設定を/usr/local/xl-gbs/xlconf/std/agent.definition.xl 末尾へコピーします。
<DefineAgent passwd="anonymous" dircheck="on">
nichibun.ac.jp
xlsr
user
<CurrentEnvironment/>
<Lambda Order="Applicative"> ()
<Argments> ^host ^agent ^mode ^user ^target </Argments>
(+ "xl xlscript/std/a_xlsr.xl / " mode " " user " " target)
</Lambda>
</DefineAgent>
という設定の部分です。対象となるエージェントは、xlsrというものです。 これで、エージェントの起動は可能となりました。
▲
ページトップへ戻る
[ステップ2] 実際のルーティングの設定
実際のルーティングは、ファイル/usr/local/xl-gbs/xlconf/std/sr.xl に行います。詳細の設定方法は、
「XLストリーム・ルーティング関数」の項目を参照されたい。このファイルでは、ストリーム・ルーティングのテーブルが設定される。テーブルは、最初に現れた要素から参照され、はじめて、参照元アドレスと参照先アドレスの条件が一致したテーブルが有効となり、ルーティングタイプ、ゲートウェイに従ってルーティングされます。
▲
ページトップへ戻る
[ステップ3] ルーティングのデバッグ方法
ルーティング設定が正しいかどうかの確認は、次のように出来ます。ルーティング設定をしたサーバ上で、
$ xl xlerm
0>
とコマンドをうち、ターミナルを立ち上げます。ここでコネクションを設立します。
0> (OpenSession)
<Result> 1 2 </Result>
Resultで帰ってきた番号を覚えておきます。以上では2がそれにあたります。
0> (RemoteSession (URL "xlp://gbs.ur-plaza.osaka-uc.ac.jp:8080/") (Command "Get") (Get ""))
<Result> 1 2 </Result>
これは、xlp://gbs.ur-plaza.osaka-cu.ac.jp/ というリソースのダウンロードを試みるコマンドです。ルーティング設定が正しければ、おそらく、gbs.ur-plaza.osaka-cu.ac.jpよりエラーが返ってくるはずです。もし設定が間違っていれば、異なるサーバからエラーが返ってくるか、突然コネクションが切断されてしまいます。そのようなとき、ログファイルを参照します。ログファイルは、コンテンツディレクトリのpublic/xllog/log0に出力されるはずです。もし、public/xllogというディレクトリがない場合は、このディレクトリをあらかじめ作っておいてください。このログの中の最新の接続先がどこになっているかをチェックすることで、設定のデバグが出来ます。
▲
ページトップへ戻る