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 を追加して下さい。
- Fastly VCL とカスタム VCL の混在とマッチング方法を参照してください。
-
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"; } }
- ご利用のサービスの Varnish Configuration エリアにファイルをアップロードします。