TomcatとApacheを連携してTomcat側で作成したものを外部公開する方法

このQ&Aのポイント
  • Apache2.2とTomcatを連携して、Tomcat側で作成したページを外部に公開する方法について説明します。
  • 現在、httpやhttpsを使用してグローバルIPアドレスで外部公開することは可能ですが、一部のページについては公開できません。
  • 特に、TomcatとApacheを連携させた場合に、Tomcat側で作成したページをグローバルIPアドレスで表示することはできません。
回答を見る
  • ベストアンサー

Apache2.2の外部公開に関して(Windows 2003 ser

Apache2.2の外部公開に関して(Windows 2003 server) ■現在可能な事 ・http://グローバルIPアドレス/index.html  →外部公開はできます。 ・https://グローバルIPアドレス/index.html  →外部公開はできます。 ・http://localhost/docs/  →tomcatのページを表示できます。 ・eclipse+Tomcat+javaで作成したページ  https://localhost/abc.jsp/  →表示できます。 ■現在不可能な事 ・http://グローバルIPアドレス/docs/  →ページを表示できません ・eclipse+Tomcat+javaで作成したページ  https://グローバルIPアドレス/abc.jsp/  →ページを表示できません TomcatとApacheを連携した事でTomcat側で作成したものをグローバルIPアドレスで外部公開する事はできないんでしょうか。 できる場合、その設定方法を教えて下さい。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.1

TomcatをインストールしたときにApacheの設定ファイルを追加していると思います。 通常、「mod_jk.conf」という名前でhttpd.confにincludeしているのではないかと思いますが、 この設定の中にTomcatに転送するURIパターンなどが記述されていると思いますので 実際にどのように記述されているかを見て、同じようにIPアドレスを追加するとか 工夫すると解決しそうに思います。

toetou
質問者

お礼

無事に外部公開が出来ました。

toetou
質問者

補足

mod_jk.confは使用していません。 Tomcat6とApache2.2では、 httpd.confで LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so の部分をコメント解除 <Location /examples/> ProxyPass ajp://localhost:8009/examples/ </Location> を追加のみで連携できるとサイトに記載されていたためこれを実行しました。 localでは連携されますが、外部公開はできません。 mod_jk.confをhttpd.confにincludeしなければ外部公開できませんか。

関連するQ&A

  • apacheとサーバについて

    apacheとtomcat、サーバ接続についてくわしいかたお願いします。 環境: Windows vista Apache2.0.61 Tomcat5.5.25 で tomcatとapacheは単独でうごきますし、 mod_jkを使い、apacheとtomcatを連携させました。 その際のhttpd.confには以下を追記しました。 末尾 <IfModule mod_jk.c> JkWorkersFile "C:\Program Files\Apache Group\Apache2\conf\workers.properties" JkLogFile logs\mod_jk.log JkLogLevel warn JkMount /*.jsp worker1   →(1) JkMount /servlet/* worker1     →(2) JkMount /examples/* worker1    →(3) JkMount /tomcat-docs/* worker1   →(4) </IfModule> において(4)は自分で作成(追加)しhttp://localhost/tomcat-docs/でみることができました。 しかし(3)においてはexampleに対応するファイルがtomcatに入ってなかったため、見れないのはわかります。 ここで(1)ですがこれはjspファイルを見れるようにするという意味ですよね? ということは もし、自分で○×.jspというファイルをlocalhostで見たい場合は httpd.confに JkMount /○×/* worker1と追加すればみれるということでしょうか? 追記して確認したところwebページがみつかりませんとの表示があります。 また、localhostでなく外部から○×.jspに接続されることを考えた場合、http://localhost/○×.jsp/のlocalhostに自分のIPアドレスを入れてあげれば外部からもみることができますよね? 質問ばかり&拙い文章ですいません。 なお○×.jspは C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\rootsの直下に入っています。 httpd.confと、サーバ接続の編集があいまいになっています。

  • tomcat、apacheにてJSPが表示されない

    http://localhost:8080/ と入力したときにtomcatの画面がでるので tomcatの設定はできていると思っているのですが eclipseでJSPを作成し、 \Program Files\apache-tomcat-6.0.13\webapps\bihinkanri\WEB-INF にJSPファイルを置き、 http://localhost:8080/bihinkanri/Itiran.jsp とURLに入力したのですが HTTPステータス404が出てしまいました。 なぜでしょうか・・・。 初心者で原因がわかりません・・。 お願いします。

  • 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/     →  正常表示 連携の確認のみとれず、何が原因なのか、全くわかりません。 どなたかご存じの方、ご教授下さい。。

  • 自サーバーでJSPを公開するにはどうすれば!?

    環境はPC1台のOSはWinXP、Apacheはapache_1.3.24-win(32)、Tomcatは4.1.18を使用しています。Apacheのhttpd.confファイルを編集し、公開用フォルダ設定を行いました。 DocumentRoot "c:/home" 公開用フォルダ c:\home\index.html         |       link.jsp と移動させたいのですが、上手く出来ません。 index.htmlのファイルを以下のように編集したら <a href="http://127.0.0.1/ink.jsp">移動</a> 『ファイルのダウンロード』の要求するダイアログが出てきてしまいます。 もう一方、<a href="localhost:8080/home/input.jsp">移動</a> とすると、自サーバーで実行するとlink.jspページに移動はできるのですが、外部から実行したときは『エラー404の未検出』と表示されてしまいます。 tomcat側にもWebを公開する為の設定ファイル『Apatchのhttpd.conf』などが存在するのでしょうか? そのあたりの設定方法がよくわからないので、教えてもらえないでしょうか?

  • tomcatの外部公開についての質問です。

    tomcatの外部公開についての質問です。 現在、fessの外部公開で悩んでいるのですが、Javaとfessをインストールして fess自体は、動作確認をローカル内では見れるのですが、LAN外からのアクセスが出来ません。 ポートはそのまま8080を使用、DDNSでドメインを取り DICEで更新しています。 光回線でCTUをスルーさせて、ルーターのみで使用、 ルーター及びサーバー(winvista)のポート8080を開放、 http://www.cman.jp/network/support/go_access.cgi にてサーバーのポート開放を確認。 上記で確認出来ているので、ウィルスソフトなどでの障害は無いと判断。 apache等は使っていません。 hostsファイルにIPアドレスとドメインの追記をして、 コマンドプロンプトにて、netstat -na で8080を他に使っているアプリが無いのを確認 現在はこのような状況です。 fessの構造はtomcatそのままなのですが、tomcatって外部公開するのは apacheが必要なのでしょうか? 通常、グローバルIPを設定している場合 tomcatをインストールして、ローカル内で確認出来たら、 グローバルIP:8080で見れると思ったのですが、そんな簡単では無かったでしたっけ。。。 私の場合、グローバルIPでは無く、DDNSですけど。 どなたかご指導して頂ける方居られましたら宜しくお願い致します。

  • apacheとPHPが上手く連携しない

    PHP初心者です。 開発環境 apache2.0.59 PHP5.2.9 Eclipse3.3 apacheはポート80でインストールしたのですが、何故かlocalhost:8080でないと、ファイルが実行されません。 後はapache2.2.11をインストールしている点ですかね。 これもポート80でインストールしています。 後、現在Tomcatと連携しているんですが、これが原因になっているんでしょうか。 ただ、何故かlocalhost:8080だと表示されるんですよね。 私としてはlocalhostで表示したいのですが、どのようにすればいいのでしょうか。 アドバイスどうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • apache2.2とtomcat5.5の連携

    http://oshiete1.goo.ne.jp/qa5793960.html 上記のとおり、apache2.0とtomcat5.5でmod_jk.soを使い連携をがんばってましたが、どうにもラチがあかないので、連携方法が簡単になったというapache2.2に切り替えました。 コンパイル+インストールは下記のとおり ./configure --prefix=/usr/local/apache2 --enable-proxy --enable-proxy-ajp --enable-so make make install /usr/local/apache2/conf/httpd.confは下記を追加 <Location /jsp-examples/> ProxyPass ajp://localhost:8009/jsp-examples/ </Location> <Location /servlets-examples/> ProxyPass ajp://localhost:8009/servlets-examples/ </Location> これで、tomcatとapacheを再起動 http://localhost:8080/jsp-examples/ = 正常に表示 http://localhost/jsp-examples/ = ページなし http://localhost/ = It works! やはり連携が成立しないのです。いったい何か足りないものがあるのでしょうか?どうぞ解決までご協力をお願いします。

  • Apahceサーバの外部公開

    Apacheサーバの外部公開の手順を教えて頂けないでしょうか。 公開できずに困っています。 バージョン:Apache2.2 設定内容(httpd.conf) ・Listen 80 ・ServerName ***.***.***:80 ←グローバルIPアドレス ・ファイヤーフォールを無効化 上記の設定をしましたが、外部から見れません http://***.***.***/ ←グローバルIPアドレス で確認 設定の漏れなどがありましたら、アドバイスお願い致します。

  • ApacheとTomcatの連携

    Windows200でApacheとTomcatを連携させて動かしたいのですがうまくいきません。 Apacheを起動させただけだと、サンプルページのhttp://localhost/examples/jsp/は見えるのですが、その下の各サンプルを見ようとするとInternal Server Errorになってしまいます。 ちなみにApache、Tomcatを別々に起動させるとうまくいきます。 バージョンは以下のとおりです。 Apache1.3.26 tomvat3.2.4 どうやら連携のサービスがApache起動のときに開始されていないみたいなんですが、どこらへんを見直したらいいのかわかりません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Tomcat 外部アクセスを禁止する方法について

    CentOS5.3に、Tomcatをいれてみようと思ってます。 そのうち、Apacheもいれてみようと思ってますが、 Tomcatだけでも、JSP/サーブレットの勉強ができそうなので、 まず、Tomcatだけインストールしたいです。 Tomcatは、インストールすると、自動的に外部(世界中)から 自分のパソコンにアクセスされてしまうのでしょうか。 外部には一切公開しないで、ローカル(192.168.0/24)だけで 公開したいのですが、 どのようにすればよろしいでしょうか。 昔、WindowsにApacheをいれてしまったときに、 英語で、「セキュリティーがやばい! アクセスされます!?」 みたいなまっかなメッセージがでて、あわててApacheを削除したら、 おさまった事があって、ちょっとApacheやTomcatを インストールするのに、不安なのです。 TCPWrapperで192.168.0/24だけ、許可しましたが、 TCPWrapperはtelnetやFTPであって、Tomcatは関係ないですよね。 あと、ブロードバンドルータが外部からのアクセスを拒否している と書いてあったのですが、本当なのでしょうか。 うちは、NTTのPR-200NEというやつがいますが、 これがブロードバンドルータでしょうか。 よろしくお願いいたします。

専門家に質問してみよう