ホーム > メモ, IIS > メモ IIS 7.5 と Tomcat 7の連携

メモ IIS 7.5 と Tomcat 7の連携


お仕事で、IISのURL Rewriteモジュールを使う機会があったのでメモメモ

TomcatとIISを連携させる(一度IISがバインドしている80ポートでリクエストを受けた後に、Tomcatがバインドしている8080へリクエストをフォワードする)場合は、Apache Foundationが提供するisap_redirectを使うわけですが、設定を見ていたらレジストリーいじったり設定ファイルを作ったりと面倒なので、IIS 7の URL Rewriteモジュールでできないか調査してみた。

Application Request Routing(ARR)のインストール

ARRInstall the extensionsのリンクから、WebPIをダウンロードしARR一式インストールしましょう。URL書き換えモジュールといっておきながら、いきなり違うものをダウンロードしますが、IISをリバースプロキシとしてTomcatの8080にフォワードするためには、URL RewriteモジュールとARRの両方が必要となります。ARRのインストーラーには下記4モジュールが含まれているため、こいつをインストールすれば必要なものはすべてインストールされるという寸法です。

  • URL Rewrite 2.0
  • Web Farm Framework 1.1
  • Application Request Routing 2.5
  • External Cache 1.0
  • 上記の通りARRはWeb Pralform Installerからもインストールできますが、こちらのリンク(How to install Application Request Routing (ARR) 2.5 without Web Platform Installer (WebPI))からそれぞれのモジュールを直接ダウンロードしてインストールすることもできます。というか、WebPIを使ってインストールしたら、インストール中にこんなエラーが出たり、

DownloadManager Error: 0 : Install return code for product ‘Application Request Routing 2.5 用の KB 2589179’ is Failure

IISマネージャーを開いたらARRが表示されず、イベントログにこんなログが出力されたので、セットアップモジュールを個別にダウンロードしてインストールを行いました。

IISMANAGER_MODULE_INITIALIZATION_THREW_EXCEPTION

型 "ApplicationRequestRouting" のモジュール "Microsoft.Web.Management.Arr.ArrModule, Microsoft.Web.Management.Arr.Client, Version=7.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" の Initialize メソッドが例外を発生させました。

例外:System.IO.FileNotFoundException: ファイルまたはアセンブリ ‘Microsoft.Web.Management.WebFarmClient, Version=7.1.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
ファイル名 ‘Microsoft.Web.Management.WebFarmClient, Version=7.1.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ です。
   場所 Microsoft.Web.Management.Arr.ArrModule.Initialize(IServiceProvider serviceProvider, ModuleInfo moduleInfo)
   場所 Microsoft.Web.Management.Client.Connection.Initialize(WebManagementInfo webManagementInfo)

少し古いですが、TechNetにARRのインストールに関するドキュメントがありました。一応このドキュメントにしたがって、インストール前には下記のサービスを停止状態にしてからインストールを行いました。コマンドプロンプトで次のコマンドを実行してください。

net stop was /y
net stop wmsvc /y

このコマンドを実行すると、次のサービスが停止されます。インストールが終わったら念のため再起動。

  • Windows Process Activation Service
  • World Wide Web Publishing Service
  • Web Managment Service

プロキシの設定

まずはTomcatへのリクエストを仲介するため、IISにプロキシ・サーバーとしての機能を設定します。IISマネージャーのWebサーバーを選択し、Application Request Routing Cacheの機能を開き、Server Proxy Settingsをクリックします。

imageimage

Enabled Proxyにチェックを入れProxy機能を有効化し、適用ボタンをクリックして設定を保存します。

image

リダイレクトの設定

次に、リダイレクトのフィルター条件を定義するために、URL書き換え規則の設定を行います。ここでは、http://[サーバー]/managerへのリクエストを受け付けたら、http://[サーバー]:8080]/managerのリソースをhttp://[サーバー]/managerに書き換えてクライアントに返却する例を示します。

IISマネージャーの機能ビューのURL書き換えを選択し、機能を開くをクリックします。表示されたURL書き換えの右側にある規則の追加をクリックします。

image image

空の規則をクリックしてOKボタンをクリックして設定を行います。

image image

No 設定項目 設定値
1 名前 Tomcat
2 URLの一致 パターンに一致する
3 使用 正規表現
4 パターン (manager.*)
5 URLの書き換え http://localhost:8080/{R:0}

サーバー名(or IPアドレス)で接続すると、IISのトップページが表示されます。

image

サーバー名/managerで接続すると、Tomcatの管理ページが表示されます。

image

カテゴリー:メモ, IIS タグ: ,
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。