アクセス制御リストを手動で作成する

Varnish では、アクセス制御リスト (ACL) を使用して、クライアントの IP アドレスを定義された IP アドレスのリストに対して素早く照合することができます。ACL の例を以下に示します。

1
2
3
4
5
6
# Who is allowed access ...
acl local {
  "localhost";
  "192.0.2.0"/24; /* and everyone on the local network */
  ! "192.0.2.1"/32; /* except for the dial-in router */
}

ACL を定義する

ACL を使用するには、カスタム VCL を作成し、Fastly のボイラープレートに追加する必要があります。以下の手順に従って Fastly の設定で ACL を定義してください。

  1. カスタム VCL と Fastly VCL を混在およびマッチングさせる方法をご参照ください。
  2. ACL の定義を適切な場所に記載したカスタム VCL を作成します。以下の例を参考にしてください。定義した ACL は、#FASTLY recv の前または後ろに記載されるマッチング処理を行う設定 (vcl_recv) で参照することができます。記載場所は Varnish が設定を実行する順番にのみ影響します。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    # If you are using the "include" keyword
    include "myACL1.vcl";
    
    # And/or if you are using an actual ACL block
    acl local {
      "localhost";
      "192.0.2.0"/24; /* and everyone on the local network */
      ! "192.0.2.1"/32; /* except for the dial-in router */
    }
    
    sub vcl_recv {
      # block any requests to Admin pages not from local IPs
      if (req.url ~ "^/admin" && req.http.Fastly-Client-IP !~ local) {
        error 403 "Forbidden";
      }
    }
    
  3. ご利用のサービスの Varnish Configuration エリアにファイルをアップロードします。
Back to Top