2016-04-01 24 views
1

Çerezlere ilişkin Avrupa kuralları uyarınca, kullanıcılara çerezleri kullandığımızı bildirmek için bir mesaj göstermemiz gerekir.Önbelleğe almadan çerezlerle önbelleğe alma Çerezler

Kabul ettikleri zaman, bir çerez oluşturduk! Çerezleri takip etme konusunda yoğun bir güven ile birlikte, bu çereze ihtiyacımız var :(

Her iki öğeyi de önbelleğe almak için Varnish kurulumunu ve doğal olarak hızlarda büyük bir etkisi olan açılış sayfamı ayarlıyorum Varlıklar bir rüya çalışıyor, ana sayfa Set-Cookie'yi sunucudan asla almaz, çünkü Vernik kutunun dışında nasıl yapılandırılır.

Vernik sunucumuz Centos 7, Varnish 4'ü kurdu. Amacımız en hızlı şekilde Fast'e geçmektir. bir rehber Ben bize Çerezler kullanmak ve bunları önbelleğe önlemek için izin olan ne yapmak istediğinizi tam olarak yapmak.

https://www.fastly.com/blog/how-to-cache-with-tracking-cookies

Ancak, req değişkenleri artık Not 4'teki vcl_deliver kapsamında değildir.

Bu konuda bir çözüm bulabilecek herhangi biri var mı?

cevap

1

Sadece o vcl_deliver yılında respin kadar yaymak edeceğiz bu durumda beresp yerine bereq, içinde "Tmp-Cookie" saklamak gerekir. Daha sonra Set-Cookie'a kopyalayabilirsiniz.

Yani Hızla öneri değiştirilmiş bir sürümü:

tepki işlenişi ile eşdeğer hareket etmelidir, ama yine de (ilgiliyse) büyük olasılıkla gelen istek çerez işlemek isteyeceksiniz
sub vcl_backend_response { 
    if (beresp.http.Set-Cookie) { 
     # ... so store it temporarily 
     set bereq.http.Tmp-Set-Cookie = beresp.http.Set-Cookie; 
     # ... and then unset it 
     unset beresp.http.Set-Cookie; 
    } 
} 

sub vcl_deliver { 
    if (resp.http.Tmp-Set-Cookie) { 
     set resp.http.Set-Cookie = resp.http.Tmp-Set-Cookie; 
     unset resp.http.Tmp-Set-Cookie; 
    } 
} 

.