Vota questo articolo :
Questo articolo vi è stato utile ?
Sì
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
In questa documentazione spiegheremo passo dopo passo come forzare Varnish e i browser a mantenere le risorse nella cache, anche quando inviano richieste Pragma: no-cache o Cache-Control: no-cache.
I pacchetti di hosting condiviso e di cPanel/VPS gestiti di LWS si basano sull'architettura :
Browser ⇄ NGINX (SSL + HTTP/2) ⇄ Varnish Cache ⇄ Apache/PHP-FPM
Quando tutto è configurato correttamente, Varnish può fornire una velocità fino a 1000 volte superiore rispetto all'accesso diretto a PHP, alleggerendo al contempo la CPU del server.
Elemento | Impatto sulla cache | Come influenzarla |
Metodo | Solo GET e HEAD sono ammissibili | Evitare i POST per le pagine pubbliche |
Intestazioni di risposta Cache-Control, Expires e Pragma | Determinano la durata e l'ambito | Impostare tramite .htaccess (vedere §3) |
Cookie / Set-Cookie | Un cookie presente = nessuna cache per impostazione predefinita | Eliminare o disabilitare i cookie non necessari |
Stato HTTP | 200, 203, 301, 302, 404, 410 sono memorizzabili nella cache | Nessuna azione, ma evitare 500! |
Attivate il modulo mod_headers (è quello predefinito in LWS) e inserite il seguente snippet dove volete:
Header set Cache-Control "public, max-age=3600, s-maxage=3600, stale-while-revalidate=60, stale-if-error=86400" Header set Expires "Thu, 31 Dec 2037 23:55:55 GMT"
Mettendo lo stesso file .htaccess nella cartella "/images/" si applica la regola solo alla cartella "images".
L'intestazione imposta Cache-Control "public, max-age=2592000, s-maxage=2592000, immutable".
immutable: indica al browser che non è necessaria una riconvalida fino alla scadenza dell'oggetto; ideale per i file con versione (style.483bf.css).
3.3 Cache breve per l'HTML
Header set Cache-Control "public, max-age=300, s-maxage=600, must-revalidate".
Scade dopo 5 minuti lato client e 10 minuti lato Varnish, poi deve essere riconvalidata.
Caso reale | Frammento di .htaccess | Perché dovrebbe farlo? |
Pagina di destinazione aggiornata ogni ora | max-age=600, s-maxage=1200 | I visitatori ricevono dati "quasi in diretta" senza sovraccaricare il PHP |
CSS/JS aggiornati | max-age=31536000, immutabile | Praticamente nessun traffico sul server, caricamento istantaneo |
Immagini dei prodotti di e-commerce | max-age=604800 | Riduce il TTFB, velocizza il catalogo |
Back-office / wp-admin | no-store, privato | Evita di inserire dati sensibili nella cache condivisa |
curl -X PURGE -H "Host: example.com" https://exemple.com/chemin/ressource.jpg
ban req.http.host == "example.com" && req.url ~ "/images/"
curl -I https://exemple.com/style.css
Guardare :
Con Chrome/Edge: DevTools > Network > Disable cache può simulare un primo visitatore.
La vostra cache Varnish è ora sotto controllo!
Vota questo articolo :
Questo articolo vi è stato utile ?
Sì
No
1mn lettura
Come posso accedere alle statistiche sulle visite al sito?
1mn lettura
Come faccio ad attivare Mod_PageSpeed sul mio sito?
1mn lettura
Come si utilizzano i moduli di cache su LWSPanel?
3mn lettura
Velocizzate il vostro sito con LWS Cache