メンテナンス中画面は、.htaccess が有効な場合は、RewriteEngineを利用するとうまくいきます。
例えば、.htaccessファイルに以下のような内容を記述しておき、メンテナンス作業を行う場合に、ファイルを設置すれば、リクエストはすべて /maintenance.html ページに遷移してくれます。
管理者のIPアドレスを除外しておけば、管理者だけはアクセスできるようにもできます。
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !=192.168.0.5
RewriteRule ^.*$ /maintenance.html [L]
だけど、Tomcat だとそうはいかないですよね。
そこで、以下のような設定を httpd.conf にあらかじめ記載しておき、メンテナンス作業を行う場合に、maintenance.html を設置すれば、リクエストはすべて /maintenance.html ページに遷移してくれます。
RewriteEngine On
RewriteCond /var/www/html/maintenance.html -f
RewriteCond %{REMOTE_ADDR} !=192.168.0.5
RewriteRule ^.*$ /maintenance.html [L]
リクエストの度に書き換えルールの判断が入るのは少し気になりますが、運用サイドとしては少し楽になりそうです。
応用すれば環境にあった対応がいろいろできそうですね。


