IISとTomcatを連携させたときの備忘録。
Tomcatはeclipseをインストールしたときのものを利用した。
#設定
####連携モジュールのダウンロード
isapi_redirect-1.2.28.dll
####dllをコピーしたフォルダに設定ファイルを作成
各設定ファイルを任意のフォルダ(C:\inetpub\connector)に作成
isapi_redirect.properties
extension_uri=/jakarta/isapi_redirect.dll //仮想ディレクトリ(jakarta)の参照先
log_file=C:\share\isapi_redirect.log
log_level=debug
worker_file=C:\inetpub\connector\workers.properties
worker_mount_file=C:\inetpub\connector\uriworkermap.properties
uri_select=unparsed
workers.properties
ps=\
worker.list=tomcat //「tomcat」が共通箇所
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13
uriworkermap.properties
/examples/*=tomcat //共通箇所「tomcat」の参照先
「examples」はデフォルトサイトの参照先
####IISの有効化
「ISAPIおよびCGIの制限」にdllを追加(名前は任意でOK)
「ISAPIフィルター」にdllを追加(名前は任意でOK)
「仮想ディレクトリ」追加
→ エイリアスにisapi_redirect.propertiesのextension_uriで指定した名称と一致
→「/jakarta/isapi_redirect.dll」と指定したら、エイリアスを「jakarta」
→ 管理パスはdllをコピーしたフォルダ(C:\inetpub\connector)
作成した仮想フォルダの「ハンドラーマッピング」で「スクリプトマップの追加」を設定
→ 要求パス:*
→ 実行可能ファイル:isapi_redirect.dllへのパス
→ 名称:任意
→メッセージが出てきたら、「はい」でISAPI拡張を有効
IIS再起動
####Tomcat設定(IISとの連携モジュールを有効)
conf\server.xmlのAJP設定を有効
再起動
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
####Tomcat再起動
#動作確認
URLアクセス
http://localhost/パス/test.jsp
#整理
仮想ディレクトリにアクセスしたときに、リダイレクト発生すると思っていた。
実際は、IISにアクセスがあった場合に、ハンドラが作動して、dll実行。その時に、仮想ディレクトリを利用して、設定したパスの場合はリダイレクトが行われる。
仮想ディレクトリを設定する理由が分からない。
ハンドラが作動する時点で、dll起動してそうなのに。