メンテナンス中画面(Java編)

 

メンテナンス中画面は、.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]

リクエストの度に書き換えルールの判断が入るのは少し気になりますが、運用サイドとしては少し楽になりそうです。
応用すれば環境にあった対応がいろいろできそうですね。