このドキュメントでは、ISAPIリダイレクタをIIS用に設定し、Tomcatと連携させる方法を説明します。
通常、IISはサーブレットやJavaServer Pages (JSP) を実行できません。IISをISAPIリダイレクタプラグインを使用するように設定すると、IISがサーブレットおよびJSPのリクエストをTomcatに送信できるようになり(この方法でクライアントに提供されます)、それらのリクエストを処理できます。
ウェブサーバとTomcatエンジン間のワーキングエンティティの設定方法については、ワーカーハウツーも併せてお読みいただくことを推奨します。より詳細な設定情報については、workers.properties、uriworkermap、およびIISのリファレンスガイドを参照してください。
ドキュメントの表記規則と前提条件
${tomcat_home} はTomcatのルートディレクトリです。Tomcatのインストールには、以下のサブディレクトリが必要です
- ${tomcat_home}\conf - 各種設定ファイルを配置する場所
- ${tomcat_home}\webapps - サンプルアプリケーションを含む場所
- ${tomcat_home}\bin - ウェブサーバプラグインを配置する場所
このドキュメントのすべての例において、${tomcat_home} はc:\tomcatとします。ワーカーとは、IISサーバからの作業を受け入れるTomcatプロセスとして定義されます。
サポートされる構成
IISからTomcatへのリダイレクタは、以下をサポートしています
- 現在サポートされているすべてのバージョンのWindows上で動作するIIS
- 現在サポートされているすべてのバージョンのTomcat
リダイレクタは、古くサポートされていないバージョンのWindowsやTomcat上で動作するIISでも機能する可能性がありますが、そのような構成はサポートされません。
AJPプロトコル?
リダイレクタは、AJPプロトコルを使用してリクエストをTomcatコンテナに送信します。使用されるAJPバージョンはajp13です。現在のすべてのTomcatバージョンはajp13プロトコルをサポートしています。JettyやJBossなどの他のサーブレットエンジンもajp13プロトコルをサポートしています。
ajp12プロトコルは非推奨であるため、使用すべきではありません。ajp14プロトコルは実験的なものとみなされています。
動作の仕組み
- ISAPIリダイレクタは、Microsoft IISのプラグイン(フィルタ + 拡張)です。IISはリダイレクタプラグインをロードし、受信する各リクエストに対してそのフィルタ関数を呼び出します。
- 次にフィルタは、uriworkermap.properties内に保持されているURIパスのリストに対してリクエストURLをテストします。現在のリクエストがURIパスのリスト内のいずれかのエントリと一致する場合、フィルタはリクエストを拡張に転送します。
- 拡張はリクエストパラメータを収集し、ajp13などの定義されたプロトコルを使用して適切なワーカーに転送します。
- 拡張はワーカーからの応答を収集し、ブラウザに返します。