Access Control List (ACL) の作成

      Last updated November 12, 2019

    Varnish では、 Access Control List (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 のボイラープレート VCL に ACL を追加して下さい。

    1. Fastly VCL とカスタム VCL の混在とマッチング方法を参照してください。
    2. ACL の定義を適切な場所に記載したカスタム VCL を作成して下さい。ACL は以下の例を参考にして下さい。定義した ACL は設定の (vcl_recv) 配下で参照することが出来ます。カスタム VCL では#FASTLY 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