Webサイト更新時にメンテナンスモードとする際、特定IPのみ対象外として動作確認したいケースがあります。
Webサーバに Apache httpd を利用している場合は、mod_rewrite だけで対応できます。以下の例では 192.168.56.101 以外のアクセスは 503 エラーで /maintenance.html
を表示します。
ErrorDocument 503 /maintenance.html
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^192\.168\.56\.101$
RewriteRule ^.*$ - [R=503,L]
ロードバランサ/リバースプロキシ経由等で X-Forwarded-For
ヘッダ値が実際のIPアドレスの場合は
RewriteCond %{HTTP:X-FORWARDED-FOR} !^192\.168\.56\.101$
のように指定します。