Configurazione CDN Magento 2

L'attivazione della CDN NON rimuove o modifica i files presenti sul tuo server, ne genera una copia e la tiene in memoria servendola su richiesta dal nodo server più vicino all'utente.
I percorsi originali rimango validi e funzionanti, l'attivazione comporterà un livello aggiuntivo di ottimizzazione.

Configurazioni

PRIMA di utilizzare la CDN Artera il tuo dominio dovrà essere aggiunto e abilitato nel nostro pannello.
Se avete un piano "Managed" siete automaticamente abilitati, in caso contrario prima di procedere contattaci per maggiori info aprendo un ticket dalla tua area personale o scrivendo a support@artera.net. 

La CDN Artera, basata su Cloudflare, è una Content Delivery Network di semplicissima configurazione che ti permetterà di velocizzare i tempi di caricamento del tuo sito in pochi passi e, nel medio termine, risparmiare sui costi di hosting e cloud delegando la gestione dei contenuti statici del tuo sito (immagini, fogli di stile CSS e Javascript) ad una rete di server distribuita geograficamente.

Predisporre il fingerprint o una logica di cache busting delle risorse

Il Fingerprint è una funzionalità che può essere utilizzata indipendentemente dall'attivazione della CDN, aggiunge nel percorso della risorsa un timestamp, un identificatore numerico temporale, che consente di gestire correttamente l'invalidazione della cache quando le risorse vengono modificate (detto anche cache busting).
Il timestamp cambierà quando verrà lanciato il comando di invalidazione consentendo alla CDN e soprattutto al browser dell'utente, che potrebbe avere in cache quella risorsa, di rilevare la modifica e servire la nuove versioni dei files aggiornate.

IMPORTANTE in magento questa funzionalità è prevista solo per le risorse in pub/static ma NON in pub/media.

E' possibile attivare il fingerprint nativo magento in modalità default o sviluppatore da Stores > Configuration > Advanced > Developer > Static Files Settings, impostare la voce "Sign Static Files" su SI e salvare.
Potrai attivare così la CDN solamente sui i file statici, senza dover installare il modulo sottostante, ma il vantaggio offerto dalla CDN stessa sarà limitato ai soli files in quella cartella.

Soluzione consigliata - Installare il modulo Absolute Cache Bust

Consigliamo di installare e attivare questo modulo gratuito che integra in maniera più flessibile e completa la funzionalità di cache busting sul sito (anche da linea di comando) permettendo l'invalidazione della cache compresi i media files.
Per installare il modulo seguire le indicazioni del fornitore Absolute Cache Bust, una volta installato il modulo sarà attivabile e gestibile dalla sezione Stores > Configuration.

Attivazione Cache busting sugli Static URLs

magento2-cdn-cachebust_static.png
Togliere la spunta dalla voce "Utilizzare il valore di sistema".
Selezionare "Si", salvare e pulire la cache per attivare questa funzionalità.
Viceversa selezionare "No", salvare e pulire la cache per disattivarla.

Esempio URL originale: https://www.miodominio.tld/pub/static/risorsa-statica.js
Esempio URL con FINGERPRINT: https://www.miodominio.tld/pub/static/version20181128134602/risorsa-statica.js

Attivazione Cache busting sui MEDIA URLs

IMPORTANTE PRIMA di attivarlo sui MEDIA URLs seguire le indicazioni nel paragrafo sotto "[SERVER] Aggiunta regole di rewrite...".

magento2-cdn-cachebust_media.png

Aggiungere la regola di rewrite nel file di configurazione apache/nginx a seconda del webserver. (leggi sotto)
Togliere la spunta dalla voce "Utilizzare il valore di sistema".
Selezionare "Si", salvare e pulire la cache per attivare questa funzionalità.
Viceversa selezionare "No", salvare e pulire la cache per disattivarla.

Esempio URL originale: https://www.miodominio.tld/pub/media/media.jpg
Esempio URL con FINGERPRINT: https://www.miodominio.tld/pub/media/version20181128134602/media.jpg

[SERVER] Aggiunta regole di rewrite per la cartella pub/media

Aggiungere nella posizione corretta le seguenti regole (consultare la guida del modulo per maggiori dettagli):

Se Apache: nel file pub/media/.htaccess

...

############################################
## Absolute Cache Bust
	RewriteRule ^version.+?/(.+)$ $1 [L]
...

Se Nginx: nella sezione server di www.miodominio.tld

location /media/ {
   ...
   
   location ~ ^/media/version {
       rewrite ^/media/(version\d*/)?(.*)$ /media/$2 last;
   }
   
   ...
}

Se le regole di rewrite non vengono applicate correttamente la riscrittura fingerprint non funzionerà.
I media del sito non si visualizzeranno perché le risorse non trovate restituiranno il codice di errore 404.
In caso di problemi disabilitare temporaneamente il modulo e contattarci per un supporto dedicato.


Attivazione CDN Artera

Importante, è richiesto che l'SSL sia attivo e che il sito sia navigabile  totalmente in HTTPS perché la CDN Artera funzioni correttamente.

Assicurarsi PRIMA di attivare la CDN che sia implementata una logica di cache busting come spiegato nei paragrafi precedenti.

Vai in Stores > ConfigurationNella pagina Configurazione, menu di sinistra nel box General cliccare sulla voce "Web".

Blocco "Base URLs"

magento2-cdn-unsecure_base.png

Verificare/impostare:

  • campo "Base URL" che il protocollo dell'url sia "https://"
  • campo "Base URL file statici" sia https://arteracdn.net/www.miodominio.tld/pub/static/
  • campo "Base URL media file" sia https://arteracdn.net/www.miodominio.tld/pub/media/ (richiede Absolute Cache Bust)

Sostituendo www.miodominio.tld con il tuo dominio e assicurandoti di inserire lo / alla fine.
NOTA: la parte "pub/" andrà aggiunta a seconda delle configurazioni del server, verificare nell'URL originale se è presente .

Blocco "Base URLs (sicuro)"

magento2-cdn-secure_base.png

Riportare le stesse identiche impostazioni del blocco"Base URLs" per cui verificare/impostare:

  • campo "Base URL sicuro" che il protocollo dell'url sia "https://"
  • campo "Base URL sicuro file statici" sia https://arteracdn.net/www.miodominio.tld/pub/static/
  • campo "Base URL sicuro media file" sia https://arteracdn.net/www.miodominio.tld/pub/media/ (richiede Absolute Cache Bust)

Sostituendo anche in questo caso www.miodominio.tld con il tuo dominio e assicurandoti di inserire lo / alla fine.
NOTA: la parte "pub/" andrà aggiunta a seconda delle configurazioni del server, verificare nell'URL originale se è presente .

Controlla le voci "Usa URL sicuri"

magento2-cdn-ssl_enable.png

Assicurarsi siano abilitati gli URL sicuri sia sul frontend che sul backend verificando che le select sopra siano entrambe settate su "Si". 

magento2-salva-configurazione.png

Cliccare infine sul bottone "Salva configurazione" in alto a destra per confermare le modifiche, pulire la cache e/o ricompilare i contenuti statici in base alla modalità di deploy magento attiva.

Verificare che backend e sito si visualizzino correttamente e che i path url delle risorse in pub/ siano in questo formato:
https://arteracdn.net/www.miodominio.tld/pub/static/version20181128134602/risorsa-statica.js
https://arteracdn.net/www.miodominio.tld/pub/media/version20181128134602/media.jpg