みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

TOMCAT 個別メッセージ画面について

現在、WindowsサーバにTOMCATのみをインストールしているのですが、本サーバのアプリケーションはサービスを停止させて行ってます。

本ホストへ「Apache HTTPサーバー」を新規インストールし、TOMCATサービス停止時に本HTTPサーバーがアクセスしてきたクライアントへ個別メッセージをはじめとして返答させるようにしたいのですが具体的にどのように設定すればいいか教えてください。

投稿日時 - 2017-03-11 23:18:16

QNo.9304035

すぐに回答ほしいです

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

> 簡単に申し上げると、httpサーバーがフロントエンドに配置され、メンテナンス中のTOMCATへのリクエストを全てをメンテナンスページにリダイレクトするようなイメージになります。
最初の話に戻ると、tomcat停止後、同じポートでListenするApacheを立ち上げればいいのでは。
それを「連携」という形で実現するには、繰り返しになりますが、ユーザからのリクエストの受け持ちをApacheに任せて、tomcatで処理しなければならない動的ページの処理は、mod_proxy_ajpを用いてtomcatにつなげるという形しかないのでは。
https://www.adminweb.jp/apache/tomcat/
メンテナンス中は、mod_proxy_ajpを止めるなり、mod_rewriteでメンテナンスページに飛ばせばいいだけです。

今、tomcatで18080を使っているのであれば、18081とかに変更、Apacheで18080を受け持って、適宜18081にほり投げるというように、変更が必要かもしれませんが。

投稿日時 - 2017-03-14 23:20:02

お礼

色々と教えていただきありがとうございました。

設定としては、Apache HTTP Serverを常にフロントエンドで配置して、TOMCATと連携させるのが1番良さそうですね。

※メンテナンスに合わせて、rewriteエンジンをon/offさせるのがいいかなと感じました。

ただ、同一ホスト内にインスタンスが複数起動していることなども含め、教授いただきました情報を参考にしつつ検討いたします。

投稿日時 - 2017-03-15 12:52:18

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

> TOMCAT稼動中→TOMCAT停止→Apache HTTP Server起動→個別メッセージ返答
ですよね。tomcatは関係なくなると思いますが。

> apache http サーバーとTOMCATとの連携を含めて本設定をした場合の動作を教えていただけませんか。
連携も何もないと思います。tomcat停止した時点で、tomcatは何も受け付けてくれません。
それを代わりに、Apacheを立ち上げて固定メッセージを表示しようとしているのですよね。

本当に連携させるなら、通常時からApacheをフロントエンドにして、必要なリクエストだけをtomcatに渡す、という方法ぐらいしかないのでは。

投稿日時 - 2017-03-12 16:30:56

ANo.1

とりあえず、ルートのindex.htmlにメッセージのページを作る。
mod_rewriteを使って、全リクエストを~/index.htmlに書き換え。
でいけるのでは。

http://d.hatena.ne.jp/tyn_iMarket/20130104/1357319887

投稿日時 - 2017-03-12 11:56:25

補足

自身の記載が不十分で申し訳ありません。

(1)TOMCATの利用ポート番号:18080
※同一ホスト内で複数のインスタンスが起動
 (頭1桁が異なる)

(2)Apache(http Server)の利用ポート番号:80
※デプロイ後、TOMCATの起動確認が終えるまで「re_write」したいためポート番号が重複しないように設定しています。

(3)クライアントからTOMCATへの接続
http://IPアドレス:8080/AAA/index.html

上記環境下で、TOMCAT(ポート番号:18080)へのリクエスト要求を全てローカルの個別画面(メンテナンスページ)へ「re_write」したいという状態ですがうまく設定できません。

また、「httpd.conf」は各TOMCATサーバメンテナンス用にサーバ分準備しており、httpd起動時にファイル名をリネームして、「re_write」の条件およびルールが変更されるように組み込んでおります。
※TOMCATの起動確認完了後、他のインスタンスをメンテナンスする形でバッチ化しています。
(全てのインスタンスのデプロイ完了後、httpd停止)

簡単に申し上げると、httpサーバーがフロントエンドに配置され、メンテナンス中のTOMCATへのリクエストを全てをメンテナンスページにリダイレクトするようなイメージになります。

投稿日時 - 2017-03-14 22:32:07

お礼

ご回答いただきありがとうございます。

1点確認させてください。
「mod_rewrite」モジュールは「Apache HTTP Server」
には実装されていると思いますが、TOMCATには本モジュールは実装されていなかったと思います。

また、リダイレクト先を「httpd.conf」を修正して
指定すると思いますが、TOMCATには本ファイルもなかったように思います。

自身のイメージとしては、以下なのですが、apache http サーバーとTOMCATとの連携を含めて本設定をした場合の動作を教えていただけませんか。

【イメージ】
TOMCAT稼動中→TOMCAT停止→Apache HTTP Server起動→個別メッセージ返答


以上、よろしくお願いします。

投稿日時 - 2017-03-12 14:27:25

あなたにオススメの質問