Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Configurer le partage de ressources entre origines

Dernière mise à jour :Sep 14, 2026

Après avoir ajouté votre domaine à Alibaba Cloud CDNDCDN, vous pouvez configurer des en-têtes de réponse HTTP personnalisés pour activer le partage de ressources entre origines (CORS) et accéder aux ressources depuis différentes origines.

Qu'est-ce que le CORS ?

Le partage de ressources entre origines (CORS) est une norme inter-origines fournie par HTML5 qui permet aux pages web d'accéder et de charger des ressources depuis différents serveurs d'origine. Cela garantit la sécurité de la transmission des données. Pour plus d'informations, consultez Partage de ressources entre origines (CORS).

Avantages

Pour des raisons de sécurité, les navigateurs appliquent la politique de même origine. Cette dernière restreint la capacité des pages web à initier des requêtes pour accéder et charger des ressources provenant de domaines ou de sous-domaines différents, ou via des protocoles ou des ports distincts. Par exemple, example.com ne peut pas accéder aux ressources hébergées sur example.org. Lorsque vous configurez le CORS, vous pouvez spécifier des en-têtes de réponse sur le serveur CDN DCDN. Si une requête visant à accéder aux ressources CDN DCDN contient des en-têtes conformes aux règles autorisées, les ressources inter-origines peuvent être chargées et consultées.

Fonctionnement du CORS

CORS désactivé

image
  1. Un client envoie une requête pour http://example.com/index.html vers example.com.

  2. example.com renvoie le fichier index.html au client. L'URL du fichier contient l'URL d'une ressource située sur un autre serveur d'origine : http://example.org/image_01.png.

  3. Le client envoie une requête pour http://example.org/image_01.png vers example.org.

  4. example.org renvoie un en-tête inter-origines, tel que Access-Control-Allow-Origin: *.

  5. Le client reçoit la réponse et le navigateur vérifie la valeur de l'en-tête. La valeur de l'en-tête est un astérisque (*), ce qui indique que les requêtes inter-origines provenant de toutes les origines sont autorisées. Le navigateur affiche ensuite la réponse.

CORS activé

image
  1. Un client envoie une requête pour http://example.com/index.html vers CDN DCDN.

  2. CDN DCDN renvoie le fichier index.html au client. L'URL du fichier contient l'URL d'une ressource située sur un autre serveur d'origine : http://example.org/image_01.png.

  3. Le client envoie une requête pour http://example.org/image_01.png vers CDN DCDN. La requête inclut l'en-tête Origin:http://example.com.

  4. CDN DCDN reçoit la requête, puis compare la valeur de l'en-tête Origin dans la requête avec la valeur configurée de Access-Control-Allow-Origin. Vous pouvez spécifier une ou plusieurs valeurs, ou un nom de domaine générique pour Access-Control-Allow-Origin. Access-Control-Allow-Origin n'est renvoyé au client que si les valeurs d'en-tête précédentes correspondent.

  5. CDN DCDN renvoie un en-tête inter-origines, tel que Access-Control-Allow-Origin:http://example.com, au client.

  6. Le client reçoit la réponse et le navigateur vérifie la valeur de l'en-tête. La valeur de l'en-tête est http://example.com, ce qui indique que les requêtes inter-origines provenant de http://example.com sont autorisées. Le navigateur affiche ensuite la réponse.

Remarques d'utilisation

  • Si le serveur d'origine est un compartiment Object Storage Service (OSS) et que le CORS est configuré à la fois dans les consoles OSS et CDNDCDN, les paramètres CORS définis dans la console CDNDCDN s'appliquent. Pour plus d'informations sur les paramètres CORS dans la console OSS, consultez CORS.

  • Les en-têtes de réponse HTTP configurés dans la console DCDN, tels que l'en-tête CORS Access-Control-Allow-Origin, s'appliquent à tous les types de ressources, y compris les requêtes API dynamiques.

Activer le CORS

  1. Connectez-vous à la console DCDN.

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

  3. Sur la page Domain Names, localisez le domaine cible et cliquez sur Configure.

  4. Dans l'arborescence de navigation de gauche du domaine, cliquez sur Caching.

  5. Cliquez sur l'onglet Modify Outgoing Response Header, puis cliquez sur Add pour configurer l'en-tête de réponse HTTP que les nœuds DCDN ajoutent aux réponses.

  6. Définissez les paramètres suivants pour spécifier les origines autorisées pour les requêtes inter-origines, puis cliquez sur OK.

    image

    Paramètre

    Description

    Exemple

    Operation

    Vous devez définir ce paramètre sur Add pour utiliser la fonctionnalité CORS.

    Add

    Response Header

    Vous devez définir ce paramètre sur Access-Control-Allow-Origin pour utiliser la fonctionnalité CORS.

    Access-Control-Allow-Origin

    Header Value

    CORS désactivé : vous ne pouvez configurer qu'un caractère générique ou une seule origine spécifiée.

    • Caractère générique (*) : un caractère générique est configuré, indiquant que les ressources peuvent être accessibles depuis toutes les origines.

    • Origine unique spécifiée : une seule origine (nom de domaine) est spécifiée, indiquant que les ressources ne peuvent être accessibles que depuis l'origine spécifiée.

    CORS activé : vous pouvez configurer un caractère générique, une seule origine spécifiée, plusieurs origines spécifiées et des noms de domaine génériques.

    • Caractère générique (*) : un caractère générique est configuré, indiquant que les ressources peuvent être accessibles depuis toutes les origines.

    • Origine unique spécifiée : une seule origine (nom de domaine) est spécifiée, indiquant que les ressources ne peuvent être accessibles que depuis l'origine spécifiée.

    • Plusieurs origines spécifiées : plusieurs origines (noms de domaine) sont spécifiées et séparées par des virgules (,), indiquant que les ressources peuvent être accessibles depuis les origines comprises dans la plage spécifiée.

    • Noms de domaine génériques : un nom de domaine générique est configuré, indiquant que les ressources peuvent être accessibles depuis toutes les origines correspondant au nom de domaine générique spécifié.

    • *

    • http://www.aliyun.com

    • https://aliyun.com,http://www.aliyun.com

    • http://*.aliyun.com

    Allow Duplicates

    • Oui : les en-têtes en double sont autorisés. L'en-tête renvoyé par le serveur d'origine et l'en-tête ajouté à la réponse sont renvoyés au client.

    • Non : les en-têtes en double ne sont pas autorisés. L'en-tête renvoyé par le serveur d'origine est écrasé par l'en-tête ajouté à la réponse.

    Important

    Les paramètres Allow Duplicates et CORS s'excluent mutuellement. Si vous définissez Allow Duplicates sur Yes, le paramètre CORS devient invalide.

    No

    CORS

    • Vous ne pouvez configurer le paramètre CORS que si vous définissez Operation sur Add et Response Header sur Access-Control-Allow-Origin.

    • Valeurs valides pour CORS : Disable et Enable. Valeur par défaut : Disable.

      • Disable : les points de présence (POP) DCDN ne vérifient pas l'en-tête Origin dans les requêtes des utilisateurs. Dans ce cas, les POP renvoient la valeur configurée de Access-Control-Allow-Origin.

      • Enable : les points de présence (POP) DCDN vérifient l'en-tête Origin dans les requêtes des utilisateurs et spécifient une valeur pour l'en-tête Access-Control-Allow-Origin selon les règles suivantes :

        • Correspondance par motif générique : si vous définissez l'en-tête Access-Control-Allow-Origin sur un astérisque (), Access-Control-Allow-Origin: est renvoyé, indépendamment du fait que les requêtes des utilisateurs contiennent l'en-tête Origin ou la valeur spécifiée pour l'en-tête Origin.

        • Correspondance exacte : vous pouvez spécifier une ou plusieurs valeurs pour l'en-tête Access-Control-Allow-Origin. Séparez plusieurs valeurs par des virgules (,) :

          • Si la valeur de l'en-tête Origin dans une requête utilisateur correspond à une valeur de l'en-tête Access-Control-Allow-Origin, la valeur correspondante de l'en-tête Access-Control-Allow-Origin est renvoyée.

          • Si la valeur de l'en-tête Origin dans une requête utilisateur ne correspond à aucune valeur de l'en-tête Access-Control-Allow-Origin , l'en-tête Access-Control-Allow-Origin n'est pas renvoyé.

        • Correspondance par nom de domaine générique : si vous définissez l'en-tête Access-Control-Allow-Origin sur un nom de domaine générique, la valeur de l'en-tête Origin est comparée au nom de domaine générique.

      • Si vous définissez le paramètre CORS sur Enable et que la valeur que vous souhaitez spécifier pour le paramètre Header Value contient un trait d'union (-), vous devez échapper le trait d'union (-) en %-. Exemples :

        • Valeur d'en-tête de réponse originale : http://doc.aliyun-example.com.

        • Valeur d'en-tête de réponse échappée : http://doc.aliyun%-example.com.

    Enable

  7. Configurez les paramètres suivants pour spécifier les méthodes autorisées pour les requêtes inter-origines, puis cliquez sur OK.

    image

    Paramètre

    Description

    Exemple

    Operation

    Vous devez définir ce paramètre sur Add.

    Add

    Response Header

    Vous devez définir ce paramètre sur Access-Control-Allow-Methods.

    Access-Control-Allow-Methods

    Header Value

    Valeurs valides : GET, POST et PUT. Si vous ajoutez simultanément GET, POST et PUT, séparez-les par des virgules (,).

    GET

    Allow Duplicates

    • Oui : les en-têtes en double sont autorisés. L'en-tête renvoyé par le serveur d'origine et l'en-tête ajouté à la réponse sont renvoyés au client.

    • Non : les en-têtes en double ne sont pas autorisés. L'en-tête renvoyé par le serveur d'origine est écrasé par l'en-tête ajouté à la réponse.

    No

Exemples de configuration

Exemple 1

Si la valeur de l'en-tête de réponse pour le CORS est définie sur une ou plusieurs origines spécifiques séparées par des virgules (,) :

  • Si la valeur de l'en-tête Origin dans la requête de l'utilisateur correspond exactement à l'une des origines spécifiées, le point de présence (POP) CDNDCDN répond avec l'en-tête CORS correspondant.

  • Si aucune correspondance exacte n'est trouvée, l'en-tête CORS n'est pas inclus dans la réponse.

Sur CDN/DCDN, définissez : Access-Control-Allow-Origin: http://example.com,https://aliyundoc.com.

  • L'en-tête Origin de la requête utilisateur est http://example.com, et le point de présence (POP) CDNDCDN répond par Access-Control-Allow-Origin: http://example.com.

  • L'en-tête Origin dans la requête utilisateur est https://aliyundoc.com, et le nœud CDNDCDN répond par Access-Control-Allow-Origin: https://aliyundoc.com.

  • Le nœud CDNDCDN ne répondra pas à une requête utilisateur dont l'en-tête Origin est http://aliyundoc.com (en raison d'une incompatibilité de protocole : la requête utilisateur utilise HTTP, tandis que CDNDCDN est configuré pour HTTPS).

  • Si l'en-tête Origin d'une requête est http://aliyun.com, le point de présence (POP) CDNDCDN ne répondra pas (incompatibilité de domaine).

Exemple 2

Si la valeur de l'en-tête de réponse pour le CORS est définie sur un nom de domaine générique, le POP vérifie si la valeur Origin dans l'en-tête de la requête correspond au motif générique.

Sur CDN/DCDN, définissez : Access-Control-Allow-Origin: http://*.aliyundoc.com.

  • La requête utilisateur contient l'en-tête Origin http://demo.aliyundoc.com, et le point de présence (POP) CDNDCDN répond par Access-Control-Allow-Origin: http://demo.aliyundoc.com.

  • Si l'en-tête Origin d'une requête est http://demo.example.com, le point de présence (POP) CDNDCDN ne répondra pas car le nom de domaine ne correspond pas.

  • Le nœud CDNDCDN ne répond pas à une requête utilisateur dont l'en-tête Origin est https://demo.aliyundoc.com car la requête utilise le protocole HTTPS, mais CDNDCDN est configuré avec le protocole HTTP.