設定


設定

WebLogic Server (以後 WLS) 単体でも静的コンテンツの処理 ができますが画像などは Web Server に任せた方がサーバへの負担が 少なくなります。IISをフロントエンドにおき、特定のディレク トリ以下をすべて WLS に転送するように設定します。

Webサイトの作成

インターネットサービスマネージャを起動します。 「サーバから右クリック->新規->Webサイト」を選択してウィザードを起動する。

Webサイトの説明を入力してください。WebLogic (任意)
このWebサイトで使用されるIPアドレスを入力してください(未使用のIPアドレスすべて)
このWebサイトが使用するTCPポート8080 (任意)
パスD:\Inetpub\wlsweb(任意)
Webサイトのアクセス許可読み取りとASP等のスクリプトを実行するにチェック

ログの設定

デフォルトだとログが毎日になっているのですがこれでは扱いにくいので 週ごとに変更します。また analog で解析できるように拡張ログオプション に追加で送信バイト数と受信バイト数をチェックします。

Webサイト→ログのプロパティ

全般タブ新しいログ期間毎週
ログファイルディレクトリD:\Inetpub\logs
拡張タブ拡張ログオプション送信バイト数と受信バイト数に追加でチェック

WebLogic IIS Plug-inの設定

Microsoft IIS プラグインのインストールとコンフィグレーション を参考にIIS Plug-inの設定を行います。 「パスを基準にしたプロキシをコンフィグレーション」に該当します。

Web サイトの「プロパティ->ISAPI フィルタ」からiisforward.dll をISAPIフィルタとして登録します。

フィルタ名iisforward (任意)
実行ファイルC:\bea\weblogic81\server\bin\iisforward.dll

Webサイトを再起動します。再度ISAPIフィルタタブをみて状態が上矢印 になっていることを確認します。

インターネットサービスマネージャからWebサイトを選択して 「右ボタン->プロパティ」を選択します

「ホームディレクトリ->構成->アプリケーションのマッピング」で以下の拡張子 以外を削除します。

.aspC:\WINNT\System32\inetsrv\asp.dllGET/HEAD/POST/TRACE
.asaC:\WINNT\System32\inetsrv\asp.dllGET/HEAD/POST/TRACE
.shtmlC:\WINNT\System32\inetsrv\ssinc.dllGET/HEAD/POST/TRACE

IIS Plug-in を登録します。

実行ファイルC:\bea\weblogic81\server\bin\iisproxy.dll
拡張子.wlforward
動詞GET/HEAD/POST(実際はカンマ区切りです)
スクリプトエンジンチェック(デフォルト)
ファイルの存在を確認するチェックしない(デフォルト)

C:\bea\weblogic81\server\bin\iisproxy.ini を作成します。

WebLogicHost=localhost
WebLogicPort=7001
ConnectTimeoutSecs=20
ConnectRetrySecs=2
WlForwardPath=/lab

Webサイトを再起動します。

これで http://localhost:8080/lab (IIS) へアクセスすると 自動的に http://localhost:7001/lab (WLS) へ転送さ れます。アドレスバーはIISをさしたままですので WLS の存在を意識させません。 (実際はHTTPヘッダやエラー表示に WebLogic という文字が入っているため 完全に隠せるわけではありません)

フロントエンドサーバの設定

Plug-in の設定を行う場合は WLS への直接アクセスを禁止する設定が できます。

たとえば・・・

この状態で Location HTTPヘッダを使用してリダイレクトを行うと WLSへ直接アクセスさせる Location ヘッダが作成されてしまい、 ブラウザからアクセスできなくなります。

Browser ---- IIS --------- WebLogic
        ---->GET --------> GET
             Location <---
Location<----
        -------------->  X  直接アクセスしにいこうとしてエラーとなる
Error

これは Location ヘッダがホスト名まで含めた http://xxxxx:nnnn/zzzz という形式のアドレスとなっている必要があるためです。このため WLS は 自身へアクセスするような Location ヘッダをホスト名を含めて作成するのです が自身へのアクセスが禁止されているためにエラーになります。 このエラーを回避するためにWLS にフロントエンドサーバの設定を行います。

「サーバ->サーバ名->プロトコル->HTTP」で詳細オプションを表示させる と「フロントエンドホスト」「フロントエンドポート」の設定を行います。

フロントエンドホストサーバ名
フロントエンドポート8080 (IISのポートに合わせます)

ただし、 WLS管理コンソールにログインするときにリダイレクトは使用されています。 管理サーバへ「フロントエンドホスト」や「フロントエンドポート」を設定 するときは /console へのアクセスもリダイレクトするように設定しないと 管理コンソールにもログオンできなくなります。

Browser ---- IIS --------- WebLogic
        -----------------> GET (直接アクセスする)
        <----------------- Login Form
ID,PASS ----------------->
        <----------------- IIS の /console へのリダイレクト
        ---- IIS  
Error   <--- (/console の設定がないので 404 になる)

iisproxy.ini

WebLogicHost=localhost
WebLogicPort=7001
ConnectTimeoutSecs=20
ConnectRetrySecs=2
WlForwardPath=/training,/console  <-- /console も追加する

注意) この設定を行うとセキュリティが下がります。今回はサーバのパワー が少なかったのでスタンドアロン構成にしましたがやはり管理サーバと管理 対象サーバは分割するべきなのでしょう (bea は分割することを推奨しています)。



Return to TOP