Tous les produits
Search
Centre de documentation

CDN:Configurer une origine conditionnelle

Dernière mise à jour :Oct 10, 2026

La fonctionnalité d'origine conditionnelle s'appuie sur le rules engine pour filtrer les requêtes des utilisateurs selon des critères définis, tels que les en-têtes de requête, les paramètres de chaîne de requête, les chemins ou les adresses IP clientes. CDN achemine ensuite les requêtes correspondant à ces critères vers une adresse d'origine spécifique. Ajoutez plusieurs configurations afin de diriger les requêtes vers différentes origines en fonction de conditions distinctes.

Prérequis

Avant de configurer une origine conditionnelle, créez une Rule Condition dans le rules engine.

Remarques d'utilisation

  • Conflit de fonctionnalités : l'origine conditionnelle et l'origine avancée sont mutuellement exclusives. Une seule de ces deux options peut être activée.

  • Prise en charge des caractères génériques : dans le rules engine, la valeur de correspondance de l'URI accepte le caractère générique * (correspond à un nombre quelconque de caractères) ainsi que ? (correspond à un seul caractère). La correspondance de chemin de la fonctionnalité d'origine avancée n'accepte en revanche que des valeurs exactes, sans caractères génériques.

  • Priorité des règles et ordre de correspondance : l'évaluation des origines conditionnelles repose sur la priorité de la Rule Condition associée dans le rules engine, et non sur l'ordre des configurations d'origine conditionnelle. Dès qu'une requête correspond à une règle, l'évaluation s'arrête. Cette priorité dépend de l'ordre de création : les règles créées en premier disposent d'une priorité supérieure. Pour modifier cet ordre, supprimez puis recréez les règles dans l'ordre souhaité.

  • Astuce pour les configurations multi-chemins : lors de la création de règles visant à « inclure » ou « exclure » un chemin, saisissez plusieurs chemins (sur plusieurs lignes ou sous forme de valeurs multiples) dans le champ de valeur de correspondance d'une même règle afin de simplifier votre configuration.

  • Limite de règles : le nombre de Rule Conditions qu'une origine conditionnelle peut référencer est soumis à une limite globale au sein du rules engine. Pour un domaine donné, le total des références aux Rule Conditions, toutes fonctionnalités confondues (origine conditionnelle, origine avancée, protection contre le hotlinking basée sur le Referer), ne peut pas dépasser cinq. Dans les scénarios complexes impliquant plusieurs origines, le dépassement de ce seuil entraîne l'échec de la configuration. Planifiez soigneusement l'utilisation de vos règles ou utilisez des domaines distincts pour l'accélération si vous gérez de nombreuses origines.

Points d'attention pour les origines OSS

  • Si une origine correspond à un bucket OSS, ajoutez son adresse sous Domain Names > Basics > Origin Information, puis définissez le type d'origine sur OSS Domain. CDN peut ainsi s'authentifier correctement auprès d'OSS.

  • Scénarios à plusieurs origines OSS : lorsque vous configurez plusieurs origines OSS, définissez un Host d'origine spécifique pour chacune d'elles. La valeur Host doit correspondre exactement au domaine du bucket OSS concerné, par exemple dev-3mir.oss-cn-guangzhou.aliyuncs.com.

    Un Host d'origine mal configuré ou l'utilisation du Host d'origine par défaut risque d'acheminer les requêtes vers le mauvais bucket, provoquant des erreurs 403 SignatureDoesNotMatch ou 404 Not Found. Liez explicitement chaque règle d'origine conditionnelle (règles de correspondance comme règles de secours) à son origine et à son Host d'origine correspondants. En présence de plusieurs origines, attribuez des poids identiques aux origines de base et créez des Rule Conditions distinctes pour chaque origine conditionnelle afin de garantir un routage prévisible.

Comparaison des types d'origine

Les origines conditionnelles et avancées peuvent toutes deux référencer des Rule Conditions du rules engine pour élaborer des politiques de routage d'origine flexibles. Lorsqu'une requête correspond à une Rule Condition, CDN sélectionne automatiquement une origine :

Type d'origine

Condition de déclenchement

Origine conditionnelle

La requête correspond à la Rule Condition référencée par l'origine conditionnelle.

Origine avancée

La requête correspond à la Rule Condition référencée par l'origine avancée.

Origine de base

La requête ne correspond à aucune règle d'origine conditionnelle ou avancée (solution de repli par défaut).

Basculement entre origine principale et secondaire : dès qu'une requête correspond à une règle d'origine avancée ou conditionnelle, CDN récupère le contenu directement auprès de l'origine désignée par cette règle. Les paramètres de priorité et de poids des origines de base ne s'appliquent alors plus. Pour mettre en place un basculement entre une origine principale et une origine secondaire, configurez la priorité et le poids des origines de base plutôt qu'une règle d'origine conditionnelle ciblant une seule origine.

Procédure

  1. Connectez-vous à la console CDN.

  2. Dans le volet de navigation de gauche, cliquez sur Domain Names.

  3. Sur la page Domain Names, recherchez le nom de domaine cible, puis cliquez sur Manage dans la colonne Actions.

  4. Dans la section Origin Information, cliquez sur Expand en regard de Conditional Origin.

  5. Cliquez sur Add Conditional Origin.

  6. Définissez la Rule Condition.

    • S'il s'agit de votre première configuration ou si vous devez modifier une Rule Condition existante, cliquez sur Conditional Origin dans la boîte de dialogue Rules Engine. Le rules engine s'ouvre alors pour vous permettre d'ajouter ou de modifier des configurations. Pour plus d'informations, consultez la rubrique relative au rules engine.

    • Si une Rule Condition existe déjà, sélectionnez-la dans la liste déroulante Rule Condition.

  7. Dans le champ Origin Address, saisissez l'adresse d'origine. Celle-ci peut correspondre à une adresse IP, un nom de domaine, un bucket OSS ou un endpoint Function Compute (FC).

  8. Cliquez sur OK pour finaliser la configuration.

Exemple : routage des requêtes /api/* vers FC

La fonctionnalité d'origine avancée n'accepte que les correspondances de valeurs exactes, sans prise en charge des caractères génériques ni des expressions régulières. Pour mettre en œuvre un routage d'origine basé sur le chemin, utilisez les origines conditionnelles avec le rules engine. En combinant l'origine conditionnelle, le rules engine et la réécriture d'URL, vous pouvez acheminer les requêtes ciblant le chemin /api/* vers une origine Function Compute (FC), tandis que toutes les autres requêtes sont dirigées par défaut vers une origine OSS.

Créer une règle dans le rules engine

  1. Accédez à Domain Names, recherchez le domaine cible, puis ouvrez la page Rules Engine.

  2. Cliquez sur Add Rule et configurez la condition de règle conformément au tableau suivant :

    Paramètre

    Valeur

    Rule Name

    Saisissez un nom personnalisé pour faciliter l'identification, par exemple api-to-fc.

    Type de correspondance

    URI

    Opérateur de correspondance

    Include Any

    Valeur de correspondance

    Cliquez sur Edit, saisissez */api/*, puis appuyez sur Entrée pour l'ajouter. Les caractères génériques * et ? sont pris en charge. Une règle unique accepte jusqu'à 32 valeurs de correspondance.

    Sensible à la casse

    Case-insensitive (par défaut)

    Important

    N'ajoutez pas de condition de nom d'hôte. Celle-ci correspond au domaine de la requête et non à l'origine. Son ajout risquerait d'empêcher la règle de correspondre au chemin après une réécriture d'URL.

  3. Cliquez sur Submit pour enregistrer la règle.

Configurer l'origine conditionnelle

  1. Dans le volet de navigation de gauche, accédez à Domain Names > Basics. Dans la section Origin Information, cliquez sur l'icône de développement en regard de Conditional Origin.

  2. Cliquez sur Add Conditional Origin et configurez les paramètres de la boîte de dialogue selon le tableau suivant :

    Paramètre

    Valeur

    Rule Condition

    Dans la liste déroulante, sélectionnez la règle créée à l'étape 1, par exemple api-to-fc.

    Origin Address

    Saisissez l'adresse de votre origine Function Compute (FC).

  3. Cliquez sur OK pour enregistrer la configuration.

Configurer le Host d'origine

Définissez un Host d'origine spécifique pour l'origine FC afin de garantir que CDN transmette les requêtes de récupération d'origine avec l'en-tête Host approprié.

  1. Dans le volet de navigation de gauche de la page Domain Names, accédez à l'onglet Origin Fetch > Configurations.

  2. Dans la section Specify Origin Host, cliquez sur Add.

  3. Dans la boîte de dialogue, renseignez les paramètres suivants, puis cliquez sur OK.

    Paramètre

    Description

    Origin Type

    Sélectionnez Custom Origin. Les adresses d'origine définies dans les origines conditionnelles n'apparaissent pas dans la liste déroulante Basic origin address. Choisissez donc Custom origin et saisissez l'adresse manuellement.

    Origin Address

    Saisissez l'adresse d'origine FC indiquée à l'étape 2.

    Origin Host Type

    Choisissez le type de valeur Host à utiliser. Pour les origines FC, sélectionnez Custom Origin Host et saisissez le nom de domaine manuellement.

    Origin Host

    Saisissez le nom de domaine FC (par exemple, your-fc-function.cn-hangzhou.fcapp.run).

    Pour les origines OSS, la valeur doit correspondre exactement au domaine du bucket OSS (par exemple, dev-3mir.oss-cn-guangzhou.aliyuncs.com).

    Rule Condition

    Facultatif. Sélectionnez la Rule Condition créée à l'étape 1 (par exemple, api-to-fc) pour limiter ce Host d'origine aux requêtes correspondant à cette règle.

Il est inutile de désactiver le Host d'origine par défaut. Si un Host d'origine par défaut et un Host d'origine spécifique coexistent pour une même origine, c'est le second qui s'applique. Pour les origines dépourvues de Host d'origine spécifique, le Host d'origine par défaut reste actif. Pour plus d'informations, consultez la rubrique relative au Host d'origine.

Configurer une réécriture d'URL (facultatif)

Si vous devez réécrire le chemin /api/ en /print/api/ sur votre origine FC, utilisez également la fonctionnalité de réécriture d'URL de CDN :

  1. Dans le rules engine, configurez une règle de réécriture d'URL pour transformer /api/ en /print/api/.

  2. Assurez-vous que la condition de correspondance d'URI définie à l'étape 1 dans le rules engine couvre bien le chemin réécrit. Utilisez par exemple */api/* ou faites correspondre le chemin spécifique /print/api/*.

Une fois ces configurations appliquées, CDN achemine les requêtes frontales vers /api/* au service FC, tout en dirigeant les autres requêtes vers l'origine OSS par défaut.

Exemple : routage basé sur le Referer

L'exemple suivant illustre comment acheminer les requêtes vers différentes origines selon l'en-tête Referer. Cette approche s'avère utile pour la protection contre le hotlinking ou pour contrôler l'accès en fonction de la source de la requête.

Créer une condition de règle basée sur le Referer

  1. Connectez-vous à la console CDN, sélectionnez le domaine cible, puis accédez à Domain Names > Rules Engine.

  2. Cliquez sur Add Rule et configurez les paramètres selon le tableau ci-dessous. Le rules engine ne propose pas de type de correspondance dédié au Referer ; utilisez donc le type Request Header pour implémenter une correspondance basée sur celui-ci :

    Paramètre

    Valeur

    Rule Name

    Saisissez un nom explicite, tel que referer-routing.

    Type de correspondance

    Request Header

    Nom du paramètre

    Referer

    Opérateur de correspondance

    Include Any

    Valeur de correspondance

    example.com. Cette valeur désigne le domaine du referer. Plusieurs domaines peuvent être ajoutés.

    Sensible à la casse

    Case-insensitive

  3. Cliquez sur Submit pour enregistrer la règle.

Configurer l'origine conditionnelle

  1. Dans le volet de navigation de gauche de la page de gestion du domaine, accédez à l'onglet Basics. Dans la section Origin Information, cliquez sur l'icône de développement en regard de Conditional Origin.

  2. Cliquez sur Add Conditional Origin et configurez les paramètres de la boîte de dialogue selon le tableau suivant :

    Paramètre

    Valeur

    Rule Condition

    Dans la liste déroulante, sélectionnez referer-routing.

    Origin Address

    Saisissez l'adresse de l'origine associée à cette source Referer.

  3. Cliquez sur OK pour enregistrer la configuration.

Exemple : routage des utilisateurs de Chine continentale et hors de Chine continentale vers différentes origines

L'exemple suivant explique comment utiliser les origines conditionnelles avec le rules engine pour acheminer les utilisateurs situés en Chine continentale et ceux situés hors de Chine continentale vers des serveurs d'origine distincts.

  1. Connectez-vous à la console CDN. Sur la page Domain Names, recherchez le domaine cible et cliquez sur Manage dans la colonne Actions. Dans le volet de navigation de gauche, cliquez sur Rules Engine, puis sur Add Rule.

  2. Configurer la règle pour la Chine continentale : dans la zone de contenu de la règle, cliquez sur l'icône plus pour ajouter une condition de correspondance. Définissez Match type sur IP Location, Match operator sur Include Any, puis cliquez sur Modify pour sélectionner Chinese mainland dans la liste déroulante comme valeur de correspondance. Envoyez et enregistrez la règle.

  3. Configurer la règle pour l'étranger (secours) : créez une seconde règle. Définissez Match type sur IP Location, Match operator sur Exclude Any, puis indiquez Chinese mainland comme valeur de correspondance. Envoyez et enregistrez la règle.

  4. Configurer l'origine conditionnelle : dans la section Origin Information, associez chaque règle à son origine correspondante :

    • Associez la règle destinée à la Chine continentale à une origine nationale (par exemple, un bucket OSS national ou un serveur local).

    • Associez la règle pour l'étranger à une origine internationale (par exemple, un bucket OSS situé hors de Chine ou un serveur distant).

  5. Configurer le Host d'origine : définissez un Origin Host dédié pour chaque origine afin de garantir que la valeur Host corresponde au domaine d'origine associé.

    • Dans le volet de navigation de gauche de la page de gestion du domaine, accédez à l'onglet Origin Fetch > Configurations. Dans la section Specify Origin Host, cliquez sur Add.

    • Dans la boîte de dialogue Specify Origin Host, configurez les paramètres suivants. Ajoutez une entrée pour chaque origine :

    Paramètre

    Valeur

    Type d'origine

    Custom origin. Les adresses d'origine définies dans les origines conditionnelles n'apparaissent pas dans la liste déroulante Basic origin address. Choisissez donc Custom origin et saisissez l'adresse manuellement. Si l'adresse d'origine figure déjà dans la configuration de l'origine de base (en tant qu'origine OSS, par exemple), vous pouvez également sélectionner Basic origin address et la choisir dans la liste déroulante.

    Adresse d'origine

    Saisissez l'adresse d'origine associée à l'origine conditionnelle (par exemple, le domaine du bucket OSS national ou international).

    Type de Host d'origine

    Custom origin Host

    Host d'origine

    Saisissez la valeur Host correspondant au domaine d'origine (par exemple, bucket.oss-cn-hangzhou.aliyuncs.com).

    Rule Condition

    Sélectionnez la condition de règle correspondant à cette origine (par exemple, la règle pour la Chine continentale ou celle pour l'étranger).

    Cliquez sur OK pour finaliser la configuration.

Il est inutile de désactiver le Host d'origine par défaut. Si un Host d'origine par défaut et un Host d'origine spécifique coexistent pour une même origine, c'est le second qui s'applique. Pour les origines dépourvues de Host d'origine spécifique, le Host d'origine par défaut reste actif.

Recommandations

Lorsque les utilisateurs situés hors de Chine continentale subissent une latence élevée ou des connexions instables en accédant à des origines situées en Chine continentale, nous recommandons d'utiliser l'accélération de transfert OSS pour optimiser la liaison de récupération d'origine. Procédez comme suit :

  • Pour l'origine conditionnelle destinée à la Chine continentale, définissez l'origine sur l'endpoint public standard d'OSS (par exemple, bucket.oss-cn-hangzhou.aliyuncs.com).

  • Pour l'origine conditionnelle destinée à l'étranger, définissez l'origine sur l'endpoint d'accélération de transfert d'OSS (par exemple, bucket.oss-accelerate.aliyuncs.com).

OSS s'appuie sur des nœuds d'accélération répartis dans le monde entier pour optimiser les liaisons de transfert transfrontalières, ce qui réduit considérablement la latence de récupération d'origine. Pour plus d'informations, consultez la rubrique relative à l'accélération de transfert OSS.