Cette rubrique récapitule les méthodes de dépannage pour les scénarios de cache CDN classées par symptôme : absence de mise en cache et échecs de mise en cache, faible taux de succès du cache et taux élevé d'appels à l'origine, anomalies des en-têtes de réponse et exceptions CORS, anomalies liées aux vidéos et aux fichiers volumineux, ainsi que problèmes de mise à jour du contenu et d'accès.
Étapes préliminaires générales
Cette rubrique s'applique à Alibaba Cloud CDN, une fois que le nom de domaine accéléré est intégré et que la résolution CNAME est effective. Si vous utilisez Dynamic Route for CDN (DCDN), certains points d'entrée de configuration et noms de fonctionnalités peuvent différer. Reportez-vous à l'affichage réel dans la console.
Les éléments de vérification suivants s'appliquent à la plupart des problèmes de cache. Nous vous recommandons de les effectuer un par un avant de commencer le dépannage afin d'éviter des conclusions erronées dues à des interférences environnementales :
|
Élément de vérification |
Description |
|
Vérifiez que la résolution CNAME est correcte |
Exécutez |
|
Vérifiez que la configuration est effective dans le monde entier |
Le statut de la règle dans la console doit être Success. La diffusion de la configuration vers les POPs du monde entier prend généralement de 3 à 5 minutes. |
|
Écartez le cache local du navigateur |
Testez en mode navigation privée ou en utilisant |
|
Effacez le cache CDN existant |
Une nouvelle configuration ne s'applique qu'aux nouvelles requêtes après sa prise d'effet. Pour les ressources mises en cache selon l'ancienne politique, soumettez une actualisation d'URL ou une actualisation de répertoire en utilisant Actualisation et préchargement. |
Cette rubrique utilise la définition d'un délai d'expiration du cache de 0 seconde comme mesure de secours à plusieurs endroits. Un délai d'expiration de 0 signifie que chaque requête déclenche un appel à l'origine, ce qui augmente considérablement la charge sur le serveur d'origine et réduit l'effet d'accélération. Nous vous recommandons de l'utiliser uniquement pour le contenu dynamique nécessitant réellement des réponses en temps réel, tels que les endpoints API. Ne le configurez pas globalement pour les ressources statiques.
Vérifiez si le cache est atteint
Avant de résoudre les problèmes de cache, vérifiez les en-têtes de réponse pour confirmer l'état du cache de la ressource :
Utilisez une requête GET pour vérifier les en-têtes de réponse : Exécutez
curl -v -o /dev/null "http(s)://accelerated-domain/resource-path". Une requêtecurl -I(requête HEAD) peut ne pas déclencher la logique de mise en cache réelle pour le corps de la ressource sur le POP dans certains scénarios, ce qui conduit à une conclusion erronée d'échec de mise en cache. Nous vous recommandons d'utiliser une requête GET pour la vérification.Vérifiez X-Cache pour déterminer le statut de succès :
HITindique un succès de cache.MISSou l'absence de ce champ indique un échec de mise en cache, ce qui signifie que la requête a déclenché un appel à l'origine.Vérifiez Age et X-Swift-CacheTime pour déterminer la durée restante du cache :
Ageindique le nombre de secondes pendant lesquelles la ressource a été mise en cache sur le POP, et doit être interprété conjointement avec X-Cache. Si X-Cache est MISS et Age est 0, la requête a déclenché un appel à l'origine. Si X-Cache est HIT mais Age est 0, la ressource a été mise en cache il y a moins d'une seconde.X-Swift-CacheTimeindique la durée totale autorisée pour le cache. La durée restante équivaut à X-Swift-CacheTime moins Age.Confirmez que la requête passe par CDN : Si l'en-tête de réponse
Serveraffiche un identifiant d'origine, tel queAliyunOSSounginx, et que les en-têtes de réponse CDN tels que X-Cache et X-Swift-CacheTime sont absents, la requête a contourné le POP CDN et est allée directement au serveur d'origine. Exécutezdig accelerated-domainounslookup accelerated-domainpour confirmer le résultat de résolution final. Conservez uniquement l'enregistrement CNAME attribué par CDN, et supprimez les enregistrements A/AAAA pointant vers l'adresse IP du serveur d'origine ainsi que les enregistrements CNAME pointant vers le nom de domaine du serveur d'origine.
Absence de mise en cache et échecs de mise en cache
La requête déclenche-t-elle toujours un appel à l'origine ou rate-t-elle le cache après avoir configuré une règle de cache ?
Le délai d'expiration du cache est défini sur 0, mais le contenu auquel j'accède n'est toujours pas le plus récent ?
J'ai configuré une clé de cache personnalisée pour différencier les requêtes mobiles et PC, mais elle ne prend pas effet ?
Faible taux de succès du cache et taux élevé d'appels à l'origine
Le taux de succès du cache est faible, le taux d'appels à l'origine est élevé ou la bande passante de l'origine est saturée ?
Le X-Cache de la requête de la page principale est toujours MISS, ce qui entraîne un faible taux de succès du cache. Comment résoudre ce problème ?
Quelles sont les causes possibles d'une diminution soudaine du taux de succès du cache ?
Anomalies des en-têtes de réponse et exceptions CORS
J'ai configuré Access-Control-Allow-Origin, mais les requêtes signalent toujours des erreurs CORS ?
Un en-tête de réponse personnalisé ne prend pas effet ?
Une page devient illisible après l'accélération CDN. Comment gérer cela ?
J'ai configuré un en-tête de réponse pour contrôler le téléchargement ou l'aperçu vidéo, mais il ne prend pas effet. Que faire ?
Un fichier JavaScript est incorrectement traité comme text/html. Comment résoudre ce problème ?
Anomalies liées aux vidéos et aux fichiers volumineux
ERR_CONTENT_LENGTH_MISMATCH se produit pendant la lecture vidéo ?
Est-il normal de voir de nombreux codes d'état 206 ou plusieurs appels à l'origine dans les journaux ?
Anomalies de contenu et d'accès
Les ressources statiques atteignent le cache, mais la page d'accueil se charge toujours lentement ?
L'accès via CDN renvoie un résultat différent de l'accès direct au serveur d'origine ?
Le fichier téléchargé via CDN est incohérent avec celui sur le serveur d'origine (mise à jour avec le même nom). Comment résoudre ce problème ?
Pourquoi une page 404 personnalisée apparaît-elle lorsque j'accède à une ressource ?
Une redirection de domaine ou une boucle de redirection se produit après avoir configuré une page 403 personnalisée. Comment gérer cela ?
Que faire si le problème persiste
Avant de soumettre un ticket, nous vous recommandons de localiser le problème vous-même de la manière suivante :
Vérifiez les journaux en temps réel : Dans la console, vérifiez le statut du cache, le statut d'appel à l'origine et la distribution des codes de réponse de la requête spécifique pour déterminer sur quelles URL ou périodes le problème est concentré.
Utilisez l'outil de diagnostic de la console : Saisissez l'URL problématique pour la détection afin d'obtenir rapidement les informations de résolution, d'appel à l'origine et d'en-têtes de réponse.
Effectuez des tests comparatifs : Accédez à la même ressource via CDN et directement depuis le serveur d'origine respectivement, comparez les différences dans les en-têtes de réponse et le contenu, et déterminez si le problème se situe côté CDN ou côté serveur d'origine.
Si le problème persiste après l'auto-dépannage, nous vous recommandons de collecter les informations suivantes avant de soumettre un ticket pour accélérer l'identification :
Le nom de domaine accéléré et l'URL de requête spécifique.
La sortie complète de
curl -vqui reproduit le problème (y compris les en-têtes de requête et les en-têtes de réponse).L'heure approximative, la région et le FAI lorsque le problème s'est produit.
Le type de serveur d'origine (OSS, ECS, SLB, serveur d'origine tiers, etc.) et si le serveur d'origine prend en charge les requêtes par plage.
Les étapes de dépannage que vous avez essayées et le résultat de chaque étape.
Si le problème concerne le taux de succès du cache, fournissez une capture d'écran du taux de succès dans la console et la plage de temps correspondante.