アーカイブ

Posts Tagged ‘Tomcat’

ARRのスナップインはWindows Server 2012 R2の管理ツールには表示されない。

時たまサーバーを一気に作る機会があって、以前作った手順書を更新しながら作業しているんですが、OSのバージョンが変わるといろいろ変わってくるところもあります。

以前Windows Server 2008 R2 IIS7.5 と Tomcat 7をARRで連携という記事を投稿しましたが、Windows Server 2012 R2で同じことをやろうとしたらちょっと、、、大分ハマったのでメモ。

あれ?どこ行った?

ARRをWebPIからインストールして、さあARRの設定を!!と思ったら、管理ツールにApplication Request Routing Cacheのアイコンが見当たらない。。。

 

イベント・ログを見るとこんなログが、、、あれ?これ以前見たこと有るぞ?ということで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.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)

そっちか!!

Webで似たような事例を探してたら、、、

http://forums.iis.net/t/1159733.aspx?Problems+in+locating+ARR

For the record, this is still broken in IIS8 / ARR 3.0; the Application Request Routing Cache element does not show up in the "Computer Management" MMC window for IIS, but DOES show up in the separate application Internet Information Services (IIS) Manager console.

管理ツールのにスナップインされたIISマネージャーだと表示されないので、個別で表示してみろとのお告げが!!

いた!!

カテゴリー:IIS タグ: ,

メモ 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 タグ: ,