La fonctionnalité de redirection 301/302 prend en charge les codes de statut de réponse 301 et 302 provenant du serveur d'origine et les traite de manière identique. Lorsque cette fonctionnalité est activée, les points de présence (POP) CDNDCDN gèrent directement les réponses 301/302 du serveur d'origine. Cela réduit les échanges de données et accélère la récupération des ressources pour les utilisateurs.
Prérequis
La redirection 301/302 est utilisée sur le serveur d'origine.
Vous disposez des permissions nécessaires pour configurer la redirection 301/302. Par défaut, cette option n'est pas disponible pour les utilisateurs externes. Pour demander ces permissions, envoyez une requête.
Contexte
Les codes 301 ou 302 sont des codes de statut HTTP indiquant qu'une ressource a été déplacée et n'est plus accessible à l'emplacement demandé. Pour gérer cette situation, un serveur inclut généralement un en-tête Location dans sa réponse. Lorsqu'un client reçoit une réponse 301/302 avec un en-tête Location, il envoie une nouvelle requête à l'adresse spécifiée dans cet en-tête afin de récupérer la ressource.
Fonctionnement
Si un POP redirige une requête vers un serveur d'origine et reçoit de celui-ci un code de statut HTTP 301 ou 302, le POP traite ce code de statut. La requête est alors redirigée vers l'adresse spécifiée par l'en-tête Location renvoyé par le serveur d'origine pour récupérer la ressource. Dans ce cas, le code de statut HTTP 301 ou 302 n'est pas renvoyé au client.
Un client demande le fichier
http://example.com/examplefile.txt.Le fichier n'étant pas mis en cache sur le point de présence (POP) CDNDCDN, une requête retour à l'origine est envoyée.
Le serveur d'origine renvoie un code de statut 301/302, avec l'en-tête Location pointant vers
http://www.example.org/examplefile.txt.Après réception de la réponse du serveur d'origine, le POP CDNDCDN envoie une requête à l'adresse Location
http://www.example.org/examplefile.txtpour récupérer la ressource.Une fois la ressource requise obtenue par un point de présence (POP) CDNDCDN, celle-ci est mise en cache sur le POP CDNDCDN.
Le POP CDNDCDN renvoie les ressources récupérées à l'utilisateur.
Si d'autres utilisateurs demandent http://example.com/examplefile.txt, le fichier demandé est servi directement depuis le POP.
Remarques sur l'utilisation
Avant de configurer la redirection 301/302 pour un nom de domaine, vérifiez si un hôte d'origine est configuré pour ce domaine. Pour plus d'informations, consultez Configurer l'hôte d'origine par défaut.
Aucun hôte d'origine n'est configuré pour le nom de domaine : lorsque le serveur d'origine renvoie un code de statut HTTP 301 ou 302 ainsi qu'un en-tête Location spécifiant une URL au POP, la requête est redirigée vers l'URL indiquée par l'en-tête Location. La valeur de l'en-tête Host dans la requête correspond au nom de domaine spécifié par l'en-tête Location.
Un hôte d'origine est configuré pour le nom de domaine : lorsque le serveur d'origine renvoie un code de statut HTTP 301 ou 302 ainsi qu'un en-tête Location spécifiant une URL au POP, la valeur de l'en-tête Host dans la requête correspond à l'en-tête Host configuré pour le nom de domaine accéléré. Par défaut, la valeur de l'en-tête Host est le nom de domaine accéléré. Si vous utilisez le nom de domaine spécifié par l'en-tête Location comme valeur de l'en-tête Host dans la requête d'origine, une erreur se produit. Pour qu'Alibaba Cloud CDNDCDN prenne en charge ce scénario, envoyez une requête.
-
L'en-tête Location renvoyé par le serveur d'origine peut adopter les formats suivants :
Location :
http://www.example.net/index.html. Le POP redirige la requête vers l'URL complète spécifiée par l'en-tête Location.Location :
//www.example.net/index.html. Le POP redirige la requête vers l'URL comprenant le protocole utilisé par la requête d'origine et la valeur de l'en-tête Location.Location :
/index.html. Le POP redirige la requête vers l'URL comprenant le protocole et le nom de domaine utilisés par la requête d'origine, ainsi que la valeur de l'en-tête Location.
Procédure
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, recherchez le nom de domaine cible et cliquez sur Configure.
Dans l'arborescence de navigation de gauche du nom de domaine, cliquez sur Origin Fetch.
Sous l'onglet Origin Fetch, localisez la section 301/302 Redirection.
Activez le commutateur 301/302 Redirection.
-
Cliquez sur Modify et configurez les paramètres selon le tableau suivant.
Paramètre
Description
Maximum Number of Redirects
Spécifiez le nombre maximal de fois qu'un POP peut rediriger une requête vers l'URL indiquée par l'en-tête Location. Si cette valeur maximale est dépassée, le code de statut HTTP 301 ou 302 est renvoyé à l'utilisateur. Valeurs valides : 1 à 5. Valeur par défaut : 2.
RemarqueLe nombre maximal de redirections 301/302 détermine combien de requêtes d'origine peuvent être redirigées vers le serveur d'origine par un POP.
Nombre maximal de requêtes d'origine = Nombre maximal de redirections 301/302 + 1. Ainsi, le nombre maximal de requêtes d'origine par défaut est de 3. Valeurs valides : 2 à 6.
Retention Request Parameters
Yes : lors des redirections 301/302, les paramètres des requêtes redirigées vers le serveur d'origine sont conservés. Ces paramètres de requête sont transmis au serveur spécifié par l'en-tête Location.
No : lors des redirections 301/302, les paramètres des requêtes redirigées vers le serveur d'origine ne sont pas conservés.
Retain Request Headers
Yes : lors des redirections 301/302, les en-têtes des requêtes redirigées vers le serveur d'origine sont conservés. Ces paramètres d'en-tête sont transmis au serveur spécifié par l'en-tête Location.
No : lors des redirections 301/302, les en-têtes des requêtes redirigées vers le serveur d'origine ne sont pas conservés.
Cliquez sur OK.