Risoluzione rapida dei problemi
Utilizza le seguenti informazioni per risolvere i problemi e gestire il modulo Fastly CDN per il Magento 2 nell’ambiente di progetto Adobe Commerce on Cloud Infrastructure. Ad esempio, puoi analizzare i valori delle intestazioni di risposta e il comportamento di caching per risolvere i problemi di servizio e prestazioni Fastly.
Negli ambienti di produzione e staging di Pro è possibile utilizzare registri di New Relic per visualizzare e analizzare dati di registro Fastly CDN e WAF per risolvere errori e problemi di prestazioni.
Individua ID servizio Fastly
È necessario l’ID servizio Fastly per configurare Fastly dall’amministratore o per inviare richieste API Fastly per la configurazione e la risoluzione dei problemi Fastly avanzati.
Se Fastly è abilitato nell’ambiente del progetto, puoi ottenere l’ID servizio dall’Amministratore. Vedi Ottieni credenziali rapide.
Gli sviluppatori e gli utenti VCL avanzati possono utilizzare VCL personalizzato per recuperare l'ID servizio utilizzando la variabile Fastly req.service_id
. Ad esempio, puoi aggiungere req.service_id
alla direttiva di registrazione personalizzata nel file VCL per acquisire il valore dell'ID servizio:
log {"syslog"} req.service_id {" my_logging_endpoint_name :: "}
È possibile utilizzare lo stesso VCL per gli ambienti di produzione e staging. Vedi Come configurare vcl_log.
Problemi relativi a prestazioni del sito, eliminazione e cache
Utilizza il seguente elenco per identificare e risolvere i problemi relativi alla configurazione del servizio Fastly per l’ambiente Adobe Commerce sull’infrastruttura cloud.
-
Il menu Store non viene visualizzato o non funziona. È possibile che si stia utilizzando un collegamento o un collegamento temporaneo direttamente al server di origine anziché l'URL del sito attivo oppure che si sia utilizzato
-H "host:URL"
in un comando cURL. Se salti Fastly al server di origine, il menu principale non funziona e vengono visualizzate intestazioni non corrette che consentono il caching sul lato browser. -
La navigazione superiore non funziona. La navigazione superiore si basa sull'elaborazione ESI (Edge Side Includes) abilitata quando si caricano i frammenti VCL Fastly del Magento predefinito. Se la navigazione non funziona, carica Fastly VCL e ricontrolla il sito.
-
Geolocalizzazione/GeoIP non funziona. I frammenti VCL Fastly Magento predefiniti aggiungono il codice del paese all'URL. Se il codice del paese non funziona, carica il file VCL Fastly e controlla nuovamente il sito.
-
Le pagine non sono memorizzate in cache. Per impostazione predefinita, Fastly non memorizza in cache le pagine con l'intestazione
Set-Cookies
. Adobe Commerce imposta i cookie anche su pagine memorizzabili in cache (TTL > 0). Il Magento predefinito Fastly VCL elimina tali cookie dalle pagine memorizzabili in cache. Se le pagine non vengono memorizzate in cache, carica Fastly VCL e ricontrolla il sito.Questo problema può verificarsi anche se un blocco di pagina in un modello è contrassegnato come non memorizzabile in cache. In tal caso, il problema è probabilmente causato da un modulo o da un’estensione di terze parti che blocca o rimuove le intestazioni di Adobe Commerce. Per risolvere il problema, vedere X-Cache contiene solo messaggi non recapitati, nessun HIT.
-
Le richieste di eliminazione non sono riuscite. Fastly restituisce il seguente errore quando si invia una richiesta di eliminazione:
code language-text The purge request was not processed successfully.
Questo problema può essere causato da uno dei seguenti problemi:
- Credenziali Fastly non valide nella configurazione del servizio Fastly per l’ambiente di progetto Adobe Commerce su infrastruttura cloud
- Codice non valido in uno snippet VCL personalizzato
Per risolvere il problema, vedere Errore durante l'eliminazione della cache Fastly su Cloud nel Centro assistenza di Adobe Commerce.
503 errori di Fastly
Se Fastly restituisce errori di timeout 503, controllare i registri di errore e la pagina di errore 503 per identificare la causa principale.
Se ricevi un errore 503, controlla il registro degli errori dell’ambiente di produzione o di staging e il registro di accesso php per risolvere il problema.
Per controllare i registri errori:
-
code language-text /var/log/platform/<project-ID>/error.log
Questo registro include tutti gli errori dell'applicazione o del motore PHP, ad esempio
memory_limit
omax_execution_time exceeded
errori. Se non trovate alcun errore correlato Fastly, controllate il registro degli accessi PHP. -
Registro degli accessi PHP
code language-text /var/log/platform/<project-ID>/php.access.log
Cerca nel registro le risposte HTTP 200 per l’URL che ha restituito l’errore 503. Se trovi la risposta 200, significa che Adobe Commerce ha restituito la pagina senza errori. Ciò indica che il problema potrebbe essersi verificato dopo l'intervallo che supera il valore
first_byte_timeout
impostato nella configurazione del servizio Fastly.
Quando si verifica un errore 503, Fastly restituisce il motivo nella pagina di errore e manutenzione. Potresti non essere in grado di visualizzare il motivo se hai aggiunto il codice per una pagina di risposta personalizzata. Per visualizzare il codice motivo nella pagina di errore predefinita, è possibile rimuovere il codice HTML per la pagina di errore personalizzata.
Per controllare la pagina di errore Fastly 503:
-
Accedi all'amministratore.
-
Fai clic su Archivi > Impostazioni > Configurazione > Avanzate > Sistema.
-
Nel riquadro di destra espandere Cache a pagina intera.
-
Nella sezione Fastly Configuration, espandere Pagine sintetiche personalizzate come illustrato nella figura seguente.
-
Fare clic su Imposta HTML.
-
Rimuovi il codice personalizzato. È possibile salvarlo in un programma di testo per aggiungerlo nuovamente in un secondo momento.
-
Fai clic su Carica per inviare gli aggiornamenti a Fastly.
-
Fai clic su Salva configurazione nella parte superiore della pagina.
-
Riapri l’URL che ha causato l’errore 503. In Fastly restituisce una pagina di errore con il motivo, come illustrato nell'esempio seguente.
Apex e sottodomini già associati a un account Fastly
Se il dominio e i sottodomini APEX per il progetto di infrastruttura cloud Adobe Commerce on sono già associati a un account Fastly esistente con un ID servizio assegnato, non puoi avviarli finché non aggiorni la configurazione Fastly:
-
Aggiorna la configurazione di apex e sottodominio sull’account Fastly esistente. Vedi Più account Fastly e domini assegnati.
-
Attiva e configura Fastly e completa la configurazione DNS
Verificare o eseguire il debug dei servizi Fastly
Puoi risolvere i problemi di prestazioni o caching per un sito Adobe Commerce sull’infrastruttura cloud testando gli URL del sito ed esaminando i valori di intestazione restituiti nella risposta.
Controlla il sito live tramite Fastly
Utilizza l'API Fastly per controllare le intestazioni di risposta Fastly-Magento-VCL-Uploaded
e X-Cache
restituite dal tuo sito live.
Le richieste API Fastly vengono trasmesse tramite l’estensione Fastly per ottenere una risposta dai server di origine. Se la risposta restituisce intestazioni non corrette, verificare direttamente i server di origine.
Per controllare le intestazioni di risposta:
-
In un terminale, utilizza il seguente comando
curl
per testare l'URL live del sito:code language-bash curl https://<live URL> -vo /dev/null -H Fastly-Debug:1
Se non hai impostato una route statica o completato la configurazione DNS per i domini sul sito live, utilizza il flag
--resolve
, che ignora la risoluzione dei nomi DNS.code language-bash curl -svo /dev/null --resolve '<your_hostname>:443:<IP-address-of-cache-node>' <https-URL>
note note NOTE Per utilizzare questo comando con l'opzione --resolve
, è necessario che TLS sia abilitato con Fastly tramite un certificato SSL/TLS e che sia stato trovato l'indirizzo IP del nodo della cache. -
Nella risposta, verifica le intestazioni per assicurarti che Fastly funzioni. Dovresti visualizzare le seguenti intestazioni univoche nella risposta:
code language-http < Fastly-Magento-VCL-Uploaded: yes < X-Cache: HIT, MISS
Se i valori delle intestazioni non sono corretti, consulta le seguenti informazioni:
Ignora Fastly Cache per controllare i siti Adobe Commerce
Se il servizio Fastly restituisce intestazioni non corrette, puoi creare uno snippet VCL che consente di inviare richieste ignorando la cache Fastly. Vedere Ignora Fastly Cache.
Dopo aver aggiunto lo snippet VCL, utilizzare i comandi cURL per inviare le richieste al server di origine dall'indirizzo IP specificato. Quindi, controlla le risposte per individuare eventuali errori.
Controllare le intestazioni di risposta cache HIT e MISS
Verifica che la risposta restituita contenga le seguenti informazioni:
-
Include l'intestazione
X-Magento-Tags
-
Il valore dell'intestazione
Fastly-Module-Enabled
èYes
o il numero di versione del modulo Fastly per CDN Magento 2 installato nell'ambiente del progetto -
Cache-Control: max-age è maggiore di 0
-
Pragma impostazione
cache
L'estratto seguente dell'output del comando cURL mostra i valori corretti per le intestazioni Pragma
, X-Magento-Tags
e Fastly-Module-Enabled
:
* STATE: INIT => CONNECT handle 0x600057800; line 1402 (connection #-5000)
* Rebuilt URL to: https://www.mymagento.biz.c.sv7gVom4qrpek.ent.magento.cloud/
* Added connection 0. The cache now contains 1 members
* Trying 192.0.2.31...
* STATE: CONNECT => WAITCONNECT handle 0x600057800; line 1455 (connection #0)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to www.mymagento.biz.c.sv7gVom4qrpek.ent.magento.cloud (54.229.163.31) port 443 (#0)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x600057800; line 1562 (connection #0)
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* ALPN, offering h2
... portion omitted for brevity ...
< Set-Cookie: mage-messages=%5B%5D; expires=Wed, 22-Nov-2017 17:39:58 GMT; Max-Age=31536000; path=/
< Pragma: cache
< Expires: Wed, 23 Nov 2016 17:39:56 GMT
< Cache-Control: max-age=86400, public, s-maxage=86400, stale-if-error=5, stale-while-revalidate=5
< X-Magento-Tags: cb_welcome_popup store cb cb_store_info_mobile cb_header_promotional_bar cb_store_info cb_discount-promo-bar cpg_2 cb_83 cb_81 cb_84 cb_85 cb_86 cb_87 cb_88 cb_89 p5646 catalog_product p5915 p6040 p6197 p6227 p7095 p6109 p6122 p6331 p7592 p7651 p7690
< Fastly-Module-Enabled: yes
< Strict-Transport-Security: max-age=31536000
< Content-Security-Policy: upgrade-insecure-requests
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Platform-Server: i-dff64b52
<
* STATE: PERFORM => DONE handle 0x600057800; line 1955 (connection #0)
* multi_done
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
* Connection #0 to host www.mymagento.biz.c.sv7gVom4qrpek.ent.magento.cloud left intact
Risolvi gli errori rilevati nelle intestazioni di risposta
Questa sezione fornisce suggerimenti per la risoluzione degli errori restituiti durante il controllo delle intestazioni di risposta tramite l’API Fastly.
Il modulo Fastly non è abilitato
Se il modulo Fastly non è abilitato (Fastly-Module-Enabled: no
) o se manca l'intestazione, utilizzare SSH per accedere al progetto. Quindi, esegui il seguente comando per controllare lo stato del modulo.
php bin/magento module:status Fastly_Cdn
In base allo stato restituito, utilizza le istruzioni seguenti per aggiornare la configurazione Fastly.
-
Module does not exist
- Se il modulo non esiste installare e configurare il modulo CDN Fastly per il Magento 2 in un ramo di integrazione. Al termine dell’installazione, abilita e configura il modulo. Vedi Configura Fastly. -
Module is disabled
- Se il modulo Fastly è disabilitato, aggiornare la configurazione dell'ambiente in un ramointegration
nell'ambiente locale per abilitarlo. Quindi, invia le modifiche a Staging e Produzione. Consulta Gestione estensioni.Se si utilizza Gestione configurazione, controllare lo stato del modulo Fastly CDN nel file di configurazione
app/etc/config.php
prima di inviare le modifiche all'ambiente di produzione o di gestione temporanea.Se il modulo non è abilitato (
Fastly_CDN => 0
) nel fileconfig.php
, eliminare il file ed eseguire il comando seguente per aggiornareconfig.php
con le impostazioni di configurazione più recenti.code language-bash bin/magento magento-cloud:scd-dump
VCL Fastly non è stato caricato
Se il file VCL Fastly non è stato caricato (Fastly-Magento-VCL-Uploaded
: false
), utilizzare l'opzione Carica VCL nell'amministratore per caricarlo. Consulta Caricare frammenti VCL Fastly.
X-Cache contiene solo mancanti, nessun HIT
Se l'intestazione X-Cache
contiene HIT
(HIT, HIT
o HIT, MISS
), indica che Fastly restituisce correttamente il contenuto memorizzato nella cache.
Se l'intestazione X-Cache
è MISS, MISS
e non contiene HIT
, eseguire nuovamente il comando curl
per assicurarsi che la pagina non sia stata eliminata di recente dalla cache.
Se ottieni lo stesso risultato, utilizza i curl
comandi e verifica le intestazioni di risposta:
Pragma
ècache
X-Magento-Tags
esiste giàCache-Control: max-age
è maggiore di 0
Se il problema persiste, è probabile che un’altra estensione ripristini queste intestazioni. Ripeti la procedura seguente nell’ambiente di staging disabilitando tutte le estensioni e riabilitando ciascuna per determinare quale estensione sta reimpostando le intestazioni. Dopo aver identificato l’estensione che causa il problema, devi disabilitarla nell’ambiente di produzione.
Per identificare un'estensione che ripristina le intestazioni di risposta:
-
Accedi all'amministratore.
-
Passa a Archivi > Impostazioni > Configurazione > Avanzate > Avanzate.
-
Nella sezione Disabilita output moduli nel riquadro di destra, individua tutte le estensioni e disabilitale.
-
Fai clic su Salva configurazione.
-
Fare clic su Sistema > Strumenti > Gestione cache.
-
Fare clic su Svuota cache Magento.
-
Completa i seguenti passaggi per ogni estensione che può causare problemi con le intestazioni Fastly:
-
Abilita un’estensione alla volta, salva la configurazione e svuota la cache di Adobe Commerce.
-
Esegui i comandi
curl
per verificare le intestazioni di risposta.
Ripeti questa procedura per ogni estensione. Se le intestazioni di risposta Fastly non vengono più visualizzate, hai identificato l’estensione che sta causando problemi con Fastly.
-
Dopo aver identificato l’estensione che sta reimpostando le intestazioni Fastly, contatta lo sviluppatore di estensioni per ulteriore assistenza. Non è possibile fornire correzioni o aggiornamenti per far funzionare le estensioni di terze parti con il caching Fastly.
Rollback della configurazione Fastly
Se gli aggiornamenti personalizzati del frammento di codice VCL o altre modifiche alla configurazione Fastly causano l'interruzione o la restituzione di errori in un sito di infrastruttura cloud di Adobe Commerce, utilizza il comando Fastly API activate per tornare a una versione VCL precedente. Non è possibile eseguire il rollback della versione VCL dall'amministratore.
Per eseguire il rollback della versione VCL:
-
Per ottenere un elenco delle versioni VCL disponibili per un servizio, eseguire il comando seguente
code language-bash curl -H "Fastly-Key: <FASTLY_API_TOKEN>" -H "Accept: application/json" https://api.fastly.com/service/<FASTLY_SERVICE_ID>/version
-
Eseguire il comando seguente per modificare la versione VCL attiva in una versione specificata.
code language-bash curl -H "Fastly-Key: <FASTLY_API_TOKEN>" -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -X PUT https://api.fastly.com/service/<FASTLY_SERVICE_ID>/version/<VERSION_ID>/activate
Per informazioni dettagliate sull'utilizzo dell'API Fastly per rivedere e gestire VCL, vedere Gestire VCL utilizzando l'API.