Lurker-Friendly Bans
ban-lurker, asenkron olarak yasak listesinin kontrol edilmesinden ve temizlenmesinden sorumludur. ban-lurker'ın, istek bilgisi eksikliğinden dolayı nesneleri geçersiz kılmak için sınırlı bir kapsamı bulunduğundan bahsettik: ban-lurker sadece obj içeriğini biliyor.
Fakat talep bilgisini req nesnesinden kopyalarsak, aslında Lurker-Friendly ban yazabiliriz. Aşağıdaki VCL kod parçasına bir göz atın:
İşin püf noktası, nesne önbellekte depolandığında alan adı ve isteğin URL'sini bir header olarak eklemektir.
set beresp.http.x-host = bereq.http.host; isteğin alan adını içeren özel bir x-host başlığı belirleyecek.
beresp.http.x-url = bereq.url; URL'yi özel bir x-url header olarak ayarlayacaktır.
Bu durumda, önbellek geçersiz kılma sadece bir sonraki talep anında gerçekleşmeyecek, aynı zamanda ban-lurker tarafından asenkron olarak da gerçekleştirilecektir. ban-lurker, bir URL eşleşmesini içeren yasak listesindeki yasakları işlemek için gerekli istek bilgilerine sahip olacaktır. ban fonksiyonunda kullandıktan sonra bu özel header değerlerini temizlemeliyiz. Bu vcl_deliver içinde yapılır.
ban-lurker hemen ban listesinden nesne çıkarmaz; bu durumu etkileyen üç parametre vardır:
Parametre
Görevi
ban_lurker_age
banlanmış nesneler kadar en az bu yaşta olmalıdır. Varsayılan değer 60 saniyedir.
ban_lurker_batch
ban-lurker'ın tek bir işlem sırasındaki temizleyeceği yasak sayısı Varsayılan değer 1000 öğedir.
ban_lurker_sleep
Yasaklama yapan kişinin işlemler arasında beklediği saniye miktarı. Varsayılan değer 0,010 saniyedir.
Last updated
Was this helpful?