はじめに
業務システムで7:00-21:00までオンライン開局し、21:00-7:00まで夜間バッチ処理時間として、WEBシステムにアクセスされないようSorryページ(「ただ今の時間システム利用できません」と書かれたページ等)にリダイレクトさせたいことがあると思います。
今回はApache HTTP ServerでWEBシステムのオンラインの開閉局を制御する方法をご紹介します。
必要なもの
- Apache HTTP Server がインストールされたサーバ
(WindowsServerでもLinuxでも構いません) - 設定ファイル(
httpd.conf
)のアクセス権限 - SorryページのHTML
設定手順
1. httpd.conf ファイルを編集する
【Windows】
GUI操作:C:\Apache24\conf\httpd.conf (テキストエディタで開く)
【Linux】
コマンド操作:
vi /etc/httpd/conf/httpd.conf
※httpd.confの配置パスは環境によって異なります。
2. 時間帯別設定モジュールをロードする
以下の行を httpd.conf
ファイルの末尾に追加します。
LoadModule mod_rewrite_module modules/mod_rewrite.so
3. 時間帯別設定を定義する
以下の行を httpd.conf
ファイルに追加します。
RewriteEngine On
RewriteCond %{TIME} >= 07:00:00
RewriteCond %{TIME} <= 21:00:00
RewriteRule ^/(.*)$ http://domain.com/your-application-path/$1 [NC,L]
RewriteCond %{TIME} < 07:00:00
RewriteCond %{TIME} > 21:00:00
RewriteRule ^/(.*)$ http://domain.com/sorry-page.html [NC,L]
4. 設定を保存して Apache HTTP Server を再起動する
【Windows】
GUI操作:「サービス」から「ApacheHTTPServer~」を探し、右クリック ⇒「再起動」
【Linux】
コマンド操作:sudo systemctl restart httpd
注意事項
- 上記の設定はあくまで一例です。ご自身の環境に合わせて設定を変更してください。
domain.com
は、ご自身のドメイン名に置き換えてください。/your-application-path/
は、ご自身のアプリケーションのパスに置き換えてください。/sorry-page.html
は、ご自身の Sorry ページのパスに置き換えてください。
まとめ
以上がApache HTTP Serverを使用して、7:00-21:00はオンラインを開局し、21:00-7:00は閉局させる方法になります。ご参考になれば幸いです。