• 締切済み

IISとローカルと別サーバのTomcatを連携したい。

サーバA上のIISから、リクエストしたURLに応じてローカルのTomcat、サーバBのTomcatにリクエストを振り分けたいと思っています。 コネクタにはisapi_redirect.dllを使用しています。 環境は下記の通りです。 【サーバA】 OS:WindowsXP JDK:1.4.2_15 Tomcat:4.1.31 IIS:5.1 【サーバB】 OS:WindowsXP JDK:1.4.2_15 Tomcat:4.1.31 IISは未使用 今回サーバAのIISをWebサーバとして使用します。 振り分けルールは下記の通りです。 1)サーバAのIISにリクエストしたURLが「/m/*」の場合はサーバAのTomcatにリクエストを送る。 2)サーバAのIISにリクエストしたURLが「/pc/*」の場合はサーバBのTomcatにリクエストを送る。 Web等を参考に設定を行いました。 その結果1)の処理は実現できましたが、別サーバにリクエストを送る2)の機能が動作しません。 駄目なパターンのURLは下記の通りです。 http://localhost/pc/login.jsp その際サーバAのTomcatを起動した際に表示される コンソール画面では、下記のメッセージが表示されていました。 2007/11/10 23:10:28 org.apache.jk.common.ChannelSocket processConnection 情報: connection timeout reached サーバA上に定義したコネクタの設定ファイル内容は下記の通りです。 (コメント部分は省略しています。) ■workers.properties default.worker=ajp13 /m/*=$(default.worker) /pc/*=ajp13second ■uriworkermap.properties worker.ajp13.type=ajp13 worker.ajp13.lbfactor=1 worker.loadbalancer.type=lb worker.loadbalancer.balanced_workers=ajp13 worker.tomcat_home=C:\Program Files\Apache Group\Tomcat 4.1 worker.java_home=C:\j2sdk1.4.2_15 ps=\ worker.list=ajp13,ajp13second worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13second.port=8009 worker.ajp13second.host=192.168.1.5 この現象を解決し、サーバBに正しくリクエストを送るにはどうすればよいのでしょうか? ご教授よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

noname#219128
noname#219128
回答No.1

uriworkermap.propertiesに以下の設定を追記して試してみて下さい。 worker.ajp13second.type=ajp13 worker.ajp13second.lbfactor=1

関連するQ&A

  • apache2.0とtomcat5.5の連携がうまくいかず非常に困って

    apache2.0とtomcat5.5の連携がうまくいかず非常に困ってます。 Windowsでapache2.0.61とtomcat5.5.28を連携しようとしています。JDKは5.1.14をいれてます。 1、mod_jk.soをmodulesに入れる。 2、apache2のconfにworkers.propertiesを新規作成して worker.list=ajp13 worker.ajp13.type=ajp13 と編集して保存。 3、apache2のconfのhttpd.confに LoadModule jk_module modules/mod_jk.so JkWorkersFile "C:/Program Files/Apache Group/Apache2/conf/workers.properties" JkMount /*.jsp ajp13 JkMount /servlets-examples/* ajp13 JkMount /jsp-examples/* ajp13 JkMount /*.do ajp13 と編集して保存。 4、tomcat→apache2の順番に起動。 結果:tomcatもapacheも動作しているけど、連携は出来ず。。 http://localhost/hoge/  →  ページがない http://localhost:8080/  →  正常表示 http://localhost/     →  正常表示 連携の確認のみとれず、何が原因なのか、全くわかりません。 どなたかご存じの方、ご教授下さい。。

  • apache2.0とtomcat5.5の連携

    お世話になります。 Linux(centos3.9)でapache2.0.63とtomcat5.5.28を連携しようとしています。(JDKは最新の1.6.2だっけかな?をいれてます) 1 mod_jk.soをmodulesに入れる 2 apache2のconfにworkers.propertiesを新規作成して worker.list=ajp13 worker.ajp13.type=ajp13 とviで編集して保存。 3 apache2のconfのhttpd.confに LoadModule jk_module modules/mod_jk.so JkWorkersFile "/usr/local/apache2/conf/workers.properties" JkMount /*.jsp ajp13 JkMount /hoge/* ajp13 と編集 4 tomcat→apache2の順番に起動(error_logは変化なし) 結果:tomcatもapacheも各々は動作しているけど連携はされない http://192.168.○.○/hoge/  →  ページがない http://192.168.○.○:8080/  →  正常表示 http://192.168.○.○/    →  apacheのデフォページ 以上のことから連携だけがうまくいってない様子・・・ いったい何がたりなくて何がダメなのかが手詰まりです。 勉強不足で大変申し訳ありませんが、解決にご協力おねがいします。

  • TomcatとApacheの連携

    TomcatとApacheの連携がうまくいかないので質問させてもらいました。 環境:Tomcat4.0.3 Apache1.3 jsdk1.4.0 windows ME ディレクトリ構成: C:\Program Files\Apache Tomcat 4.0 C:\Apache C:\j2sdk1.4.0 実行した手順としては、mod_jk_1.3.28.dllをC:\Apache\modules にコピーし 下記の設定を実施。 C:\Apache\conf\mod_jk.conf C:\Program Files\Apache Tomcat 4.0\conf\workers.properties modjk_confの内容: LoadModule jk_module modules/mod_jk_1.3.28.dll AddModule mod_jk.c JkWorkersFile C:/Program Files/Apache Tomcat 4.0/conf/workers.properties JkLogFile C:/Program Files/Apache Tomcat 4.0/logs/mod_jk.log JkLogLevel error JkOptions +ForwardKeySize JkMount /examples/* ajp13 JkMount /examples ajp13 JkMount /admin/* ajp13 JkMount /admin ajp13 JkMount /manager/* ajp13 JkMount /manager ajp13 workers.propertiesの内容: worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 C:\Apache\conf\httpd.confの一番下の行にC:\Apache\conf\httpd.confを追加。 Tomcat起動、Apache起動をすると下記のエラーメッセ-ジが出力されます。 Syntax error on line 2 of c:/apache/conf/mod_jk.conf: Cannot load c:/apache/modules/mod_jk_1.3.28.dll into server: (31) システムに接続 されたデバイスが機能していません。というエラーが表示されています。 どこか設定でおかしいところがあるのでしょうか困っているのでぜひお願いします。

    • ベストアンサー
    • Java
  • IISとTomcatの連携がうまくいきません。

    お世話になります。 以下のURL等を参考にしてIISとTomcatの連携をしています。 http://stacktrace.jp/java/iis6.0-tomcat4.1.30.html http://d.hatena.ne.jp/pomo123/20080312/1205238173 ブラウザでサンプルページを表示しようとしましたが表示できませんでした。 http://localhost/examples/index.jsp 行った手順を箇条書きで申し訳ありませんが書かせていただきます。 ----------------------------------------------------------------------------- 1.SDK(Java)をインストール  j2sdk-1_4_2_04-windows-i586-p.exe 2.環境変数(JAVA_HOME)を追加 3.Tomcatをインストール  jakarta-tomcat-4.1.30.exe 4.TomcatのBinフォルダにコピー(install4iis.js, isapi_redirector2.dll)  jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip 5.TomcatのConfフォルダにコピー(workers2.properties.sample) 6.workers2.propertiesに名前を変更 7.workers2.propertiesを修正 [変更前]  group=lb   ↓ [変更後]  #group=lb 8.install4iis.jsを修正 [変更前]  _DEFAULT_SERVER_NAME = "Default Web Site";             ↓ [変更後]  _DEFAULT_SERVER_NAME = "既定の Web サイト"; 9.コマンドプロンプトでinstall4iis.jsを実行  >cscript install4iis.js 10.server.xmlを修正 [変更前]  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"   port="8080"   minProcessors="5" maxProcessors="75"   enableLookups="true" redirectPort="8443"   acceptCount="100" debug="0" connectionTimeout="20000"   useURIValidationHack="false" disableUploadTimeout="true" />             ↓ [変更後] <!--  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"   port="8080"   minProcessors="5" maxProcessors="75"   enableLookups="true" redirectPort="8443"   acceptCount="100" debug="0" connectionTimeout="20000"   useURIValidationHack="false" disableUploadTimeout="true" /> --> 11.Webサイトのプロパティで「ISAPIフィルタ」に追加 12.Tomcatを再起動 13.IISを再起動 14.サンプルページ(index.jsp)をexamplesフォルダに作成  <html><body>test <%= new java.util.Date() %></body></html> 環境は以下の通りです。 Windows XP Professional IIS 5.1 どうかアドバイスいただけませんでしょうか? 宜しくお願いします。

  • Tomcat と IIS の連携がとれません。

    こちらの板にははじめてご質問させていただきます。どうぞよろしくお願いします。 Windows2000ServerにJDK1.3.1とTomcat3.2.3をインストールしたのですが、 http://localhost/examples/jsp/index.html を開こうとしたところ、エラーのダイアログが表示されてしまいます。 以下はその内容です。 >[inetinfo.exe - アプリケーションエラー] >"0x10003d90"の命令が"0x10003d90"のメモリを参照しました。メモリが"read"になることはできませんでした。 ・・・これはいったいどうしたことなのでしょうか? ちなみに、IISを経過せずに8080ポートから直接Tomcatをたたいてやれば表示できています。 こちらの環境は OS:Windows 2000 Server SP2 Web:IIS5.0 どうかよろしくご指導ください。

  • apacheとtomcatの連携

    運用中にApacheとTomcatの連携が出来なくなり、ApacheからTomcatにアクセス出来なくなります。 ApacheとTomcatを再起動すると、またいつも通りにアクセスが出来るようになります。 環境は以下の通りです。 OS:Red Hat Enterprise Linux 3 Java:j2sdk-1_4_2_08 Apache:httpd-2.0.54 Tomcat:jakarta-tomcat-5.0.28 アクセスが出来なくなった時のApacheのエラーログには 下記のように表示されます。 [notice] Apache/2.0.54 (Unix) mod_jk2/2.0.4 configured -- resuming normal operations [error] channelApr.open() attempt to connect to 10.1.1.55:8009 (10.1.1.55) failed 111 [error] ajp13.connect() failed ajp13:localhost:8009 [error] ajp13.service() failed to connect endpoint errno=9 Bad file descriptor [error] ajp13.service() Error forwarding ajp13:localhost:8009 1 1 [error] lb.service() worker failed 120000 for ajp13:localhost:8009 [error] lb_worker.service() all workers in error or disabled state [error] mod_jk2.handler() Error connecting to tomcat 120000, status 503 エラーログを調べたのですが、SELinuxがONになっているとアクセスが出来なく なったりするみたいですが、SELinuxはインストールされていません。 もし、解る方がいらっしゃいましたらすいませんが、よろしくお願い致します。

  • Apache-Tomcatを連携させる方法

    Tomcat4.1.30とApache2.0.55の連携についての質問になります。 連携させたいのですがどうしても上手くいきません。 環境 OS:Red Hat Enterprise Linux 5 Tomcat:Ver4.1.30 Apache:Ver2.0.55 JAVA :Ver1.4.2.10 になります。 不足情報がありましたら追記しますので仰ってください。 環境作成 1.Apache、Java、Tomcatをインストールしました  (1)Apacheインストール手順  # tar zxvf httpd-2.0.55.tar.tar  # cd httpd-2.0.55  # ./configure --enable-module=so --prefix=/usr/local/apache  # make  # make install  (2)Javaインストール手順  # sh j2sdk-1_4_2_10-linux-i586-rpm.bin  # rpm –ivh j2sdk-1_4_2_10- fcs-linux-i586.rpm  (3)Tomcatインストール手順  # tar zxvf jakarta-tomcat-4.1.31.tar.gz 2.次にApache-tomcatを連携させるmod_jkをコンパイルしました  (1)手順  # tar zxvf jakarta-tomcat-connectors-current-src.tar.gz  # sh buildconf.sh  # ./configure --with-apxs=/usr/local/apache/bin/apxs --with-tomcat41=/usr/local/tomcat --with-java-home=/usr/java/j2sdk1.4.2_10  # make 3.apacheの設定にmod_jkを認識させるため下記ファイルを編集しました。  (1)httpd.confに以下内容を追記  途中に追記  # LoadModule jk_module module /mod_jk.so  # <IfModule mod_jk.c> #  JkWorkersFile conf/workers.properties  #  JkLogFile logs/mod_jk.log  #  JkLogLevel warn  #  JkMount /examples/* ajp13  #</IfModule>  最終行に追記  #  Alias /examples "/usr/local/tomcat/webapps/examples"  #  <Location "/examples/">  #   Options Indexes FollowSymLinks  #  </Location>  #  <Location "/examples/WEB-INF/">  #   AllowOverride None deny from all  #  </Location>  (2)workers.propertiesに以下内容を編集・追記  編集  #  worker.list=ajp13  # worker.ajp13.port=8009  # worker.ajp13.host=localhost  # worker.ajp13.type=ajp13      最終行に追記  #  [uri:/aquatech/servlet/*]  # [uri:/aquatech/*.jsp]   上記内容のように変更致しました。 以前作成したサーバは、これだけの手順でTomcatとApacheの連携はできています。 しかし、今回のサーバはなぜかエラーが発生しました。 エラーログ /usr/local/apache/logs/mod_jk.logより抜粋 [Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1815): can't resolve tomcat address localhost [Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1818): invalid host andport localhost 8009 [Fri Feb 06 18:09:47 2009] [error] wc_create_worker::jk_worker.c (158): validate failed for ajp13 [Fri Feb 06 18:09:47 2009] [error] build_worker_map::jk_worker.c (256): failed to create worker ajp13 これにより、ポート8080接続(http://localhost:8080/examples/index.jsp)は表示されますが、 80接続(http://localhost/examples/index.jsp)では、500 Internal Server Errorの画面が表示されます。 3.(1)に追記した、mod_jk.soのLoadModule郡を全てコメントにすると、 エラーログは発生されず、80接続(http://localhost/examples/index.jsp)を表示すると、 jspファイルのソース中身が丸出しになった状態で表示されました。 また、http://localhost/examplesへ移動すると、 tomcatのwebappsの中にあるexamplesディレクトリ構造が表示されてしまいました。 tomcatもapacheも起動はしていますが、mod_jk.soの認識がされてないと 考えているのですが、結局解決策が全くわからない状態です。 どなたか、ご教示願いますでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Apache1.3.27とTomcat4.0.6LEの連携

    Apache1.3.27とTomcat4.0.6LEの連携 お世話になります。 Windows XP SP3でApache1.3.27とTomcat4.0.6LEを連携しようとしています。 1.mod_jk.soをmoduleへ配置 2.apacheのconfフォルダにmod_jk.confファイルを作成 ↓内容 LoadModule jk_module modules/mod_jk.so <IfModule mod_jk.c> JkWorkersFile "【Apacheインストールフォルダ】/conf/workers.properties" JkLogFile logs/mod_jk.log/ JkLogLevel warn JkMount /*.jsp worker1 JkMount /servlet/* worker1 JkMount /examples/* worker1 </IfModule> 3.apacheのconfフォルダのhttpd.confの最後に以下を追加記述 Include "【Apacheインストールフォルダ】/conf/mod_jk.conf" 4.apacheのconfフォルダにworkers.propertiesを作成し以下を記述 worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 5.Tomcatを起動しApacheを起動するとDosプロンプトにて The Apache service has already been started. Note the error or messages above, and press the <ESC> key to exit. ・・・ と表示され起動できません。 apacheに対して適切なコネクタのバージョンやその設定方法等を知っている方、 何卒ご教示お願いします。

  • Apacheとtomcatの連携で発生するエラー

    いつもお世話になっております。 Apacheとtomcatの連携を行っているのですが、 以下の手順を実施後にmod_jk.logを確認すると以下のエラーが発生します。 解決方法が分かりませんので、ご存知の方がおられましたら 解決方法を教えて頂けますでしょうか。 【mod_jk.logの内容】 [Thu Mar 24 20:20:03 2011] [13241:3086329616] [error] init_jk::mod_jk.c (2781): Initializing shm:/etc/httpd/logs/jk-runtime-status.13241 errno=13. Load balancing workers will not function properly. [Thu Mar 24 20:20:03 2011] [13241:3086329616] [info] init_jk::mod_jk.c (2825): mod_jk/1.2.26 initialized [Thu Mar 24 20:20:03 2011] [13242:3086329616] [error] init_jk::mod_jk.c (2781): Initializing shm:/etc/httpd/logs/jk-runtime-status.13242 errno=13. Load balancing workers will not function properly. [Thu Mar 24 20:20:03 2011] [13242:3086329616] [info] init_jk::mod_jk.c (2825): mod_jk/1.2.26 initialized 【手順】 1)CentOS release 5.5にTomact(4.1.30)をインストール 2)tomcat-connectors-1.2.26-srcをインストール 3)/etc/httpd/conf.d/に以下のファイルを作成  a)workers.properties   (内容)   worker.list=worker_xxx   worker.worker_xxx_1.type=ajp13   worker.worker_xxx_1.host=localhost   worker.worker_xxx_1.port=8009   worker.worker_xxx.type=lb   worker.worker_xxx.balance_workers=worker_xxx_1  b)jk.conf   LoadModule jk_module modules/mod_jk.so   JkWorkersFile /etc/httpd/conf.d/workers.properties   JkLogFile /var/log/httpd/mod_jk.log   JkLogLevel info   JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "   JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories   JkRequestLogFormat "%w %V %T"   JkMount /xxx* worker_xxx 4)/etc/init.d/tomcat4 start 5)/etc/init.d/httpd start (補足) ・OS:CentOS release 5.5 ・apache:Apache/2.2.3 以上です。 よろしくお願いいたします。

  • tomcat apache の連携ができていないのでしょうか

    いつもお世話になっております。 質問させていただきます。 以下の手順でapacheとtomcatを連携させました。 1. mod_jk2.soをAPACHE_HOME\modulesへコピーする。 2. mod_jk2.conf.sample,workers2.properties.sampleを APACHE_HOME\confへコピーしそれぞれ、mod_jk2.conf、 workers2.propertiesとリネームする 3. APACHE_HOME\conf\httpd.confの最後に 「Include conf/mod_jk2.conf」と記入する。 4. TOMCAT_HOME/conf/server.xmlの <Connector acceptCount="100" connectionTimeout="2000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"> </Connector> の部分をコメント化する。 5. tomcat,apacheの順に起動する。 そして、「http://localhost/」にアクセスすると 正しく「あなたの予想に反して、 このページが見えているでしょうか?」 のページが表示されるのですが、 「http://localhost/"コンテキスト名"/test.jsp」 アクセスしようとすると 「ページを表示できません。」と表示されてしまいます。 連携がうまくいってないのでしょうか? どなたか原因、解決方法を教えていただけないでしょうか よろしくお願いします。 ---------------------- 環境 Apache HTTP Server 2.0.58 Apache Tomcat 5.0

専門家に質問してみよう