アクセス制御リストを手動で作成する
最終更新日 2019-11-12
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 を定義してください。
- カスタム VCL と Fastly VCL を混在およびマッチングさせる方法をご参照ください。
-
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"; } }
- ご利用のサービスの Varnish Configuration エリアにファイルをアップロードします。