Aveți dreptate, adăugarea de module cookie noi care nu sunt necesare pentru stocarea în cache nu va afecta configurația dvs. VCL.
Ieșire vernislog
Când aveți îndoieli, utilizați vernislog
. Iată o comandă pe care o puteți folosi pentru a monitoriza comportamentul cookie-urilor:
varnishlog -g request -i ReqUrl -I ReqUnset:Cookie -I ReqHeader:Cookie
Această comandă va afișa numai adresa URL a cererii și diferitele linii de jurnal în care sunt setate și dezactivate valorile cookie-urilor.
Imaginează-ți că trimiți următoarea solicitare HTTP către serverul tău Varnish:
curl -H „Cookie: foo=bar; location=test” http://localhost
Această solicitare trimite 2 cookie-uri către Varnish:
- Necunoscutul
foo
cookie care ar trebui să fie eliminat
- The
Locație
cookie care se presupune a fi păstrat
Iată rezultatul de înregistrare:
* << Solicitare >> 132325
- ReqURL /
- ReqHeader Cookie: foo=bar; locație=test
- ReqUnset Cookie: foo=bar; locație=test
- ReqHeader Cookie: ;foo=bar; locație=test
- ReqUnset Cookie: ;foo=bar; locație=test
- ReqHeader Cookie: ;foo=bar;location=test
- ReqUnset Cookie: ;foo=bar;location=test
- ReqHeader Cookie: ;foo=bar; locație=test
- ReqUnset Cookie: ;foo=bar; locație=test
- ReqHeader Cookie: ; locație=test
- ReqUnset Cookie: ; locație=test
- ReqHeader Cookie: locație=test
După cum puteți vedea, foo
cookie-ul este frumos dezbrăcat în timp ce Locație
cookie-ul este păstrat.
Controlul variațiilor de cache
Văd că încerci să ții sub control cantitatea de variații de cache, ceea ce are sens.
Problema este că cererile rău intenționate pot crea variații nedorite ale memoriei cache.
Dacă cantitatea de valori per cookie este atât de limitată, am sugerat să le includ în logica de variație a memoriei cache.
Utilizați valorile cookie-urilor din dvs vcl_hash
logica pentru asta? Sau folosesti Variază: Cookie
pentru asta?