質問: ### 前提・実現したいこと 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/ )です。
回答: まず、原因ですが、ApacheとTomcatの連携として、 Apacheのhttpd.confに下記の記述を追記していました。 ProxyPass ajp://localhost:8009/ この記述で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への記載を下記の様にしました。 ProxyPass ajp://127.0.0.1:8009/ これで解決しました。