CosminexusとIISの連携
Cosminexusには、インプロセスHTTPサーバーというのがついていて、もちろんこれを使ってWebサーバーとして動作させることが出来るのですが、
Webサーバーの機能は使いたい場合けどWebアプリケーションはCosminexusで、という場合も多いと思います。
これは、Apache+Tomcatならmod_proxy_ajp等を使ってやります(Hitachi Web Serverを使った場合も同様かも?)
今回は、Internet Information Serverと連携させる方法をメモします。
SSL接続の場合です。
環境は
Window Vista SP2 Home
IIS 7.0(ヘルプの目次に「IIS 7.0 の詳細情報」とあったので多分。バージョンの確認方法がよくわからん)
uCosminexus Developer Professional 評価版 08-50-T1
Cosminexus側の設定
Cosminexusの設定は、マニュアル(http://www.hitachi.co.jp/Prod/comp/soft1/manual/pc/d3M1160/EM110072.HTM)を参考にしています。
・Microsoft IIS用リダイレクタ動作定義ファイル
以下ファイルを編集します。
\CC\web\redirector\isapi_redirect.conf
ほとんどデフォルトでいいと思いますが、SSLで動作させるので、以下の設定値をtrueにします。
gateway_https_scheme=true
・ワーカ定義ファイル
ほとんどデフォルト設定でいいと思いますが、ワーカ名を確認するため以下ファイルを参照します。
\CC\web\redirector\workers.properties
worker.list=worker1 worker.worker1.port=8007 worker.worker1.host=localhost worker.worker1.type=ajp13
ワーカー名は「worker1」で、ポートは「8007」というのを覚えておきます。
・Microsoft IIS用マッピング定義ファイル
どのURIにアクセスがあった場合、どのワーカーを使うかを定義します。
以下ファイルです。
\CC\web\redirector\uriworkermap.properties
/examples/*=worker1
デフォルトは上記の値ですが、例えばコンテキストルートが/TESTのJSPアクセスだけCosminexusに転送したい場合は
/TEST/*.jsp=worker1
とかにすれば良いです。ワーカー名は前述のワーカ定義ファイルで定義したワーカ名を指定します。
IIS側の設定
これもマニュアルがあったんだ。それを参照します。
http://www.hitachi.co.jp/Prod/comp/soft1/manual/pc/d3M0600/EM060300.HTM
しかしこう見ると、「リダイレクタ」だの「リソース」だの「アクセラレータ」だの用語にカタカナ語が多くてさっぱり意味不明ですよね。
とはいえ和訳したらもっと気持ち悪い感じになりそうだけど。
・仮想ディレクトリの作成
[サイト]-「Default Web Site]-[仮想ディレクトリの追加]で以下設定で追加。
エイリアス:hitachi_ccfj
物理パス:\CC\web\redirector
その後、「ハンドラマッピング」-「機能のアクセス許可の編集」を選択して「読み取り」「スクリプト」「実行」の3つ(3つしかないが)にチェックを付けます。この設定はすごいわかりにくい。
あと、ここ多分重要ですが、上記の「エイリアス」は仮想ディレクトリではありますが、エイリアス名は多分なんでもいいんじゃないかな?
どのURIの場合どこに飛ばす、というのは「Microsoft IIS用マッピング定義ファイル」でやっているし、実際動いた。
・Webサーバの認証機能の解除
この設定は「認証」が「匿名認証」のみになってたので良いのかな?
・ISAPIフィルタの設定
[Default Web Site]-[ISAPIフィルタ]で右ペインを右クリックして「追加」を押して追加します。(わかりにくい!)
フィルタ名:hitachi_ccfj
実行可能ファイル:\CC\web\redirector\isapi_redirect.dll
・SSLの設定
とりあえず証明書はテスト用で動作だけできれば良い感じですのでそのように。
[ホーム]-[サーバー証明書]-[自己署名入り証明書の作成]で[TEST]と入れて作成。
・バインド
[Default Web Site]-(操作ペインの)[バインド]で、以下追加
種類:https
IPアドレス:未使用の IP アドレスすべて
ポート:443
SSL証明書:TEST
これで動くようになったと思う。
なぜIISで動かしたかと言うと、ASP(Active Server Pages。ASP.netではない)とJSPが混在しているアプリケーションだったからです。
最新IISでも、インストール時に「Classic ASP」みたいなのを選択すればそのまま動くのを発見してやってみた次第です。
やっぱApacheのがいいわ。