Cloudflare を用いる場合に、アクセス元(接続元)のIPアドレスや、接続先のホスト(サブドメイン)で判別してアクセス制限をかけたい場合の方法です。
1. メニューから Firewall を選択する
ログインしてホストを選択し、Firewall
のメニューを選びます。
2. Firewall Rules で Create a Firewall rule をクリック
画面最上部の Firewall Rules
のメニューの右に Create a Firewall rule
というボタンがあるのでそれをクリックすると新しい Rule
を作る画面に遷移します。
3. Rule をガリガリ書く
Rule の書式はオフィシャルページにあります。
https://developers.cloudflare.com/firewall/cf-firewall-rules/fields-and-expressions/
以下の画像の例*1では、次のような条件と振る舞いになります。
- ルールの名前は
foobar
- 以下の (a) かつ (b) を満たす条件が判定条件として用いられる
- (a) 接続元のIPアドレスが
123.123.123.123
に等しい - (b) 接続先のアドレスが
hoge.exmple.com
に等しいか、またはfuga.example.com
に等しい
- (a) 接続元のIPアドレスが
- 上記の条件を満たすとき、アクセスはブロックされる
注意点など
DNS
メニューのStatus
でのDNS and HTTP proxy (CDN)
が、有効であるか無効であるかには注意する必要があります
Firewall Rule
は複数作ることができ*2、優先度をつけることができます- 実際は画面でポチポチ設定するよりかは API 経由で設定した方がバージョン管理などができて良いかと思います
- 個別の
Firewall Rule
は有効無効をすぐに切り替えられます