質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

2回答

21134閲覧

ApacheとTomcatの連携について(Windows2012 R2)

ShujiHarima

総合スコア12

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

2グッド

2クリップ

投稿2017/01/24 07:13

編集2017/01/24 09:56

###前提・実現したいこと
Windows Server 2012 R2 にてApache2.4.25とTomcat8.5.11を連携させてWebアプリケーションを動作させたい

###発生している問題・エラーメッセージ

Webアプリケーションをテストしたり、Tomcat Webアプリケーションマネージャからアプリケーションを配備しようとするとIEで「このページは表示できません」というエラーメッセージが表示されます。

ApacheとTomcatの連携はうまくいっているようなのですが、一部操作(Tomcat Webアプリケーションマネージャからアプリケーションを配備した場合などです)を行った場合に上記のエラーメッセージが表示されます。

サーバのイベントビューアを見ると下記の様なエラーが表示されます。

障害が発生しているアプリケーション名: httpd.exe、バージョン: 2.4.25.0、タイム スタンプ: 0x58550e9f
障害が発生しているモジュール名: mod_proxy.so、バージョン: 2.4.25.0、タイム スタンプ: 0x58551063
例外コード: 0xc0000005
障害オフセット: 0x0000000000007a4f
障害が発生しているプロセス ID: 0x770
障害が発生しているアプリケーションの開始時刻: 0x01d2760e0fcac3fd
障害が発生しているアプリケーション パス: C:\app\apache\Apache24\bin\httpd.exe
障害が発生しているモジュール パス: C:\app\apache\Apache24\modules\mod_proxy.so
レポート ID: 4dae25b8-e201-11e6-80c0-00155d03e807
障害が発生しているパッケージの完全な名前:
障害が発生しているパッケージに関連するアプリケーション ID:

何か解決策はないものでしょうか?

ApacheのはWindows64bit用にビルド済みで配布されていたものを使用しています。
入手先は「Apache Lounge」( https://www.apachelounge.com/download/ )です。

umegon, A-pZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A-pZ

2017/01/24 08:18

Windows用Apache Httpd 2.4はビルド済みのものでしょうか。その場合は入手先サイト(Apache hausなど)を追記すると原因がわかるかもしれません。
退会済みユーザー

退会済みユーザー

2017/01/24 09:34

"一部操作を行った場合"は何をしたかが分からないと判断が難しいと思います
A-pZ

2017/01/24 14:01

Apache<->Tomcat連携に関する追加設定(mod_proxyの設定、mod_jkを使っているか、リバースプロクシ設定を使っているか、など)、ならびに、Tomcatマネージャからのアプリケーション配備にて行っている操作の詳細もあると回答が得られるかもしれません。例えば、すでにアップロード済みのWebアプリケーションに対して、Tomcatマネージャで同じパスに対して更新をかけている、などアプリケーションの更新手順についても明記が必要でしょう。
guest

回答2

0

自己解決

まず、原因ですが、ApacheとTomcatの連携として、
Apacheのhttpd.confに下記の記述を追記していました。

<Location /> ProxyPass ajp://localhost:8009/ </Location>

この記述でApacheにアクセスが来たらポート8009で同じサーバのTomcatに転送されるはずなのですが、
ApacheのLoglevelをDebugにして詳細な情報を確認したところ、下記のエラーが発生していました。

[Fri Jan 27 21:36:21.588795 2017] [proxy:debug] [pid 4928:tid 1592] proxy_util.c(2871): (OS 10061)対象のコンピューターによって拒否されたため、接続できませんでした。 : AH00957: AJP: attempt to connect to [::1]:8009 (localhost) failed

どうやら、Apacheが8009ポートでlocalhostに接続する際に、
まず、IPv6で接続しようとして、失敗していたようです。

そのため、httpd.confへの記載を下記の様にしました。

<Location /> ProxyPass ajp://127.0.0.1:8009/ </Location>

これで解決しました。

投稿2017/01/31 10:07

ShujiHarima

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

はじめまして。
apacheとtomcatの連携をする場合、「リバースプロキシ」を使用されているのでしょうか?

そういう前提でお話をさせていただくならば、

httpd.confに以下のようにtomcatのWebApplicationのURIと、apacheのURIの関連付けを行います。
以下のようにすればクッキーを食わせている場合でも、正常に動作するようです。

ProxyPass /tomcat ajp://localhost:8009/DIR1
ProxyPassReverseCookieDomain localhost localhost
ProxyPassReverseCookiePath /DIR1 /tomcat/DIR1

投稿2017/01/27 00:18

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問