はじめに
CloudFlareを使用しながら、メンテナンスする際は少し面倒ですよね。
IPアドレスはCloudFlareのIPアドレスなのでどれが自分のIPアドレスなのか分かりません。
やってみる
この例では 111.111.111.111
以外の人がCloudFlare経由でアクセスしてきた時、自動的に503を返して test.htm
を表示させます。
ErrorDocument 503 /test.htm
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/test.htm
RewriteCond %{HTTP:CF-Connecting-IP} !=111.111.111.111
RewriteRule ^.*$ - [R=503,L]
おまけ
これを応用してCloudFlareのFlexible SSLを使用している時にhttpsの強制もできます。
ただ、CloudFlare側のフィルタに余裕があるのであれば、CloudFlareのコントロールパネルから設定すると良いです。
(余計にサーバが応答してしまうし…)
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]