Varnish Cache
  • Varnish Cache
  • Varnish Cache Nedir?
    • Varnish Cache
    • Varnish Açık Kaynak Bir Proje
    • Varnish Nasıl Çalışır?
  • Varnish Başlangıç
    • Varnish Kurulumu
      • Paket Yöneticisi Kullanarak Varnish Kurulumu
      • Ubuntu ve Debian Üzerinde Varnish Kurulumu
      • Red Hat and CentOS Üzerinde Varnish Kurulumu
    • Varnish Yapılandırma
      • Yapılandırma Dosyası
      • Ubuntu ve Debian için Systemd Ek Bilgi
      • Başlangıç Seçenekleri
    • TLS/SSL Hakkında
  • Varnish HTTP
    • Varnish ve HTTP
    • Idempotence
    • State (Durum)
    • Expiration (Süre sonu)
      • Expires Header
      • Cache-Control Header
      • Expiration Precedence (Bitiş Süresi Önceliği)
    • Koşullu İstekler
      • ETag
      • Last-Modifed
      • Koşullu İstekler ile Varnish İşlemleri Nasıl Yapılır?
    • Önbellek Varyasyonları
    • Varnish Hakkında Bazı Sorular
  • Varnish Yapılandırma Dili (VCL)
    • Varnish Yapılandırma Dili (VCL)
    • Kancalar ve Alt Yordamlar
      • İstemci Tarafı Alt Yordamları
      • Arka Uç Alt Yordamları
      • Başlatma ve Temizleme Alt Yordamlar
      • Özel Alt Rutinler
    • Dönüş İfadeleri
    • Akış Şeması
    • VCL Sintaks
      • Operatörler
      • Koşullar
      • Yorumlar
      • Değerler
      • Düzenli İfadeler
      • Include
      • Varnish Modüllerini Dahil Etme
    • Arka Uçlar (Backends) ve Health Probes
    • Erişim Kontrol Listeleri (ACL)
    • VCL Değişkenleri
    • Varnish'in Dahili VCL'i
  • Önbelleği Geçersiz Kılma
    • Purging
    • Banning
      • Lurker-Friendly Bans
      • Ban Listesi
    • Zorla Önbelleği Geçersiz Kılmak
  • Backend Kullanımı
    • Backend Kullanımı
    • Backend Seçimi
    • Backend Sağlığı
    • Directors
      • Round-Robin Director
      • Random Director
      • Hash Director
      • Fallback Director
    • Grace Mode
      • Grace Mode Aktif Et
  • Loglama ve Debug
    • Loglama ve Debug
    • Varnishstat
    • Varnishtop
  • Varnish Modüller
    • Varnish Modüller
    • libvmod-geoip
    • libvmod-vsthrottle
  • Kaynaklar
    • Kaynaklar
Powered by GitBook
On this page

Was this helpful?

  1. Önbelleği Geçersiz Kılma

Banning

Purging kolaydır: nesnenin hash değerini kullanır, yalnızca bir nesneyi tahliye eder ve basit bir kullanımı vardır.

Ancak, gerçekleştirecek çok sayıda temizleme işleminiz varsa veya hangi kaynakların bayat olduğundan emin değilseniz, tam URL kullanmak sizin için kısıtlayıcı olabilir. Bir örüntü bazlı geçersiz kılma mekanizması bu sorunu çözer ve ban fonksiyonuda bunu yapar.

Temel olarak, ban, önbellekten kaldırılması gereken nesneleri işaretlemek için regex kullanır. Bu işaretli nesneler sözde yasak listesine eklenir. ban, öğeleri hemen önbellekten kaldırmaz ve bu nedenle doğrudan hiçbir kaydı serbest bırakmaz.

Bir nesneye yasak listesine göre istek yapıldığında liste kontrol edilir. Ayrıca obj nesnesinin herhangi bir değişkeniyle eşleşen yasakları kontrol eden bir ban lurker isimli arka plan süreci da vardır.

obj nesnesi yalnızca header, yanıt gövdesi (response body) ve meta verileri (metadata) saklar. İstek (request) bilgisi yok. ban lurker bu bilgiden hiçbirine sahip değildir; bu nedenle ban lurker thread, yalnızca, ban, obj gibi istek bağlamı olmayan nesnelerle eşleşirse öğeleri önbellekten kaldırabilir. Diğer tüm ban'lar istek anında kaldırılır ve arka planda yapılmaz.

İşte temel bir ban örneği. PURGE örneğiyle tam olarak aynı şeyi yapar, ancak URL regex ile belirtilebilir:

acl ban {
  "localhost";
  "192.168.55.0"/24;
}
sub vcl_recv {
  if (req.method == "BAN") {
    if (!client.ip ~ ban) {
        return(synth(403, "Not allowed."));
    }
    ban("req.http.host == " + req.http.host + " && req.url ~ " + req.url);
    return(synth(200, "Ban added"));
  }
}

Sık erişilmeyen kaynaklar için req değişkenlerini temel alan çok sayıda ban biriktirdiğinizde Varnish, CPU performans sorunlarına neden olabilir. Önbellekteki tüm nesneler listeye göre denetlenene kadar yasaklar yasak listesinde tutulur. Yasaklanan nesneler yeni bir talep almazsa, listede kalırlar. Liste uzadıkça, listeyi her talepte kontrol etmek için daha fazla CPU zamanı gerekir.

Bu nedenle lurker-friendly yasakları kullanmanız tavsiye edilir.

PreviousPurgingNextLurker-Friendly Bans

Last updated 6 years ago

Was this helpful?