Varnish Subroutin Nedir - 1

Aşağıdaki çizelgede Varnish’in bir HTTP isteğini nasıl karşıladığı gösterilmiştir.

varnish subroutines

vcl_recv

Bu subroutin isteği ilk karşıladığı yerdir. Burada gelen isteği bazı kontrollerden geçirebilir veya isteği istediğimiz hale getirebiliriz. Örneğin Host header değerindeki www değerini kaldırabiliriz. Başka bir örnek gelen istek HTTPS değilse isteği HTTPS olarak tekrar gönderebiliriz. vcl_recv içinde kullanabileceğimiz eylemler:

Belirli IP adreslerini engellemek için örnek bir kullanım:

acl istenmeyen_ipler { 
    "69.60.116.0"/24;
    "69.90.119.207";
}

sub vcl_recv {
    if (client.ip ~ istenmeyen_ipler) {
        return(synth(403, "Erişim engellendi."));
    }
}

Varnish’de kendi subroutinlerimizide oluşturabiliriz.

sub check_access {
    ....
}

Kullanmak için ise call check_access;kullanılır.