7.2 メンテ中(工事中)表示サーバの設定

2018年4月24日

 Raspberry PI が稼働したので、これに apache を入れて、WEBサーバメンテナンス中の代替サーバー(と言っても「メンテ中」を表示して503を返すだけ)を設定します。
 正直、個人サーバで必要ないのですが、少ないとは言えせっかく来られた方に無応答で返すのも申し訳なく、また、Raspberry PI でどのくらいの事が出来るかの確認の為、建ててみました。サーバ機のOSアップグレードが迫っており、なにかあると数日止まるかもしれませんので、代替用のWEBサーバとします。

 切替えは、入り口ルータのポートフォワード先を本機へ変更することで行うので、構成は、WEBサーバ名含めて対象機と同一にします。

7.2.1 apache インストール&設定

 pkg から簡単に入ります。2018/04/13時点で apache24-2.4.33 と依存pkg が入りました。対象機と同一のドキュメントルートのディレクトリを作成し、/usr/local/etc/apache24/httpd.conf を書き換えます。(503を返す部分は .htaccess で設定します。)

 ここでは503を返すだけで何もおこないませんので、必要最低限です。ただしSSL接続があるので、該当のSSLモジュールの読み込みと mod_ssl の設定(対象機から設定をコピー)位です。ただし、HTTP/2.0 での接続は行いません。

 SSL証明書類(Let’s Encrypt)も対象機の物をそのままコピーしてきます。
 あとは、/etc/rc.conf へ以下を追加して、起動してエラーが無いことを確認します。

7.2.2 メンテ画面表示

 工事中画面や表示方法はググると色々ヒットするのですが、今回はその中から以下のサイトで公開されている物を頂いて来ました。

 頂いてきたファイル一式をドキュメントルートへ解凍し、表示文言や常時SSL時に問題となる、外部アクセス先の 「http:」を削除するなどの変更を行います。
 肝心の .htaccess は以下の様にしました(メンテ開始日時指定無し、除外IP指定無し)。

 

7.2.3 テストどうしよう?

 LAN内でテストしたいので、内向きDNSで行き先を変えてやる事にしました。内向きDNSの www は CNAME でWEBサーバへ振っていますが、ここを本機のホスト名へ変更します。
 作業用 Windows10 PCから本サイトへアクセスすると無事以下の様に表示されました。

予定は未定にして決定にあらず

 チャント表示されているのが確認出来たら、bind の設定を元にもどして終了です。
 ここで問題となるのがキャッシュです。bind、Windows、ブラウザ(この場合は、Chrome)の夫々のDNSキャッシュを適切にクリアする必要があります。
 また、終了予定日時の指定は GMT で行います。ブラウザの「更新」ボタンを押すごとにカウントダウンされます。キャッシュのクリア方法等は、参考サイトをご参照ください。

【参考にさせて頂いたサイト様】
カウントダウンタイマー付き「準備中ページ」テンプレートを無料配布!
Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方
Chrome のDNSキャッシュをクリアする
bind のキャッシュクリア
RFC2616 3 Protocol Parameters 3.3 Date/Time Formats


初出:2018/04/14

Posted by null-a