Tous les produits
Search
Centre de documentation

CDN:Signature de type F

Dernière mise à jour :Aug 18, 2026

La signature d'URL protège les ressources de votre serveur d'origine contre les accès non autorisés. Alibaba Cloud CDNDCDN propose quatre méthodes de signature d'URL. Le type F utilise le hachage MD5 avec une clé privée et des noms de paramètres par défaut pour une authentification simple.

Remarque

Le type F utilise le hachage MD5 avec une clé privée et les noms de paramètres par défaut sign et time. Cette méthode convient à la plupart des scénarios d'authentification de base.

Important

L'URL signée ne doit pas contenir de caractères chinois.

La signature d'URL ne prend pas en charge les URL contenant déjà des paramètres de requête (?), car elle ajoute ses propres paramètres.

Fonctionnement

  • Format de l'URL signée

    Une URL signée utilise le format suivant :

    http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}
    Remarque

    Le contenu entre {} indique les paramètres d'authentification ajoutés à l'URL standard.

    Les noms de paramètres sign et time sont définis par défaut. Personnalisez les champs Signature Parameter et Timestamp Parameter dans la console Configurer la signature d'URL.

  • Paramètre

    Description

    DomainName

    Nom de domaine accéléré par CDN.

    PrivateKey

    Clé cryptographique personnalisée de 16 à 32 caractères, composée de lettres majuscules, de lettres minuscules et de chiffres.

    FileName

    Chemin d'accès à la ressource pour la requête vers l'origine. Doit commencer par une barre oblique (/).

    timestamp

    Heure à laquelle le serveur de signature génère l'URL signée. Combinée à la période de validité, cette valeur détermine l'expiration de l'URL signée. L'heure est un horodatage UNIX, c'est-à-dire le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC. Il s'agit d'un entier décimal positif à 10 chiffres, indépendant des fuseaux horaires. Dans la console Configurer la signature d'URL, vous pouvez définir le format de l'horodatage en décimal (horodatage UNIX) ou en hexadécimal (horodatage UNIX).

    Remarque

    Configurez le champ TTL dans la console Configurer la signature d'URL. L'URL signée expire à timestamp + la période de validité configurée.

    md5hash

    Chaîne de 32 caractères générée par l'algorithme MD5. Contient les chiffres 0–9 et les lettres minuscules a–z.

    La valeur md5hash est générée à partir de la chaîne de signature suivante :

    sstring = "Privatekey+URI+timestamp" (where URI is the relative path of the requested object, such as /Filename, and does not include query parameters)
        md5hash = md5sum(sstring)
  • Logique d'authentification

    Lorsqu'un nœud périphérique CDNDCDN reçoit une requête, il vérifie d'abord si timestamp + validity period est écoulé.

    • Si timestamp + validity period est antérieur à l'heure actuelle, la requête a expiré. Le serveur renvoie une erreur HTTP 403.

    • Si timestamp + validity period est postérieur à l'heure actuelle, le serveur construit une chaîne de signature au format sstring, calcule sa valeur MD5 et compare le résultat avec la valeur md5hash de la requête.

      • Si les valeurs correspondent, l'authentification réussit et le serveur renvoie la ressource demandée.

        Remarque

        Après une authentification réussie, le nœud périphérique supprime les paramètres d'authentification de l'URL pour améliorer le taux de succès du cache et réduire le trafic vers l'origine. Par exemple :

        • URL avec les paramètres de signature : http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}

        • Après authentification :

          • URL utilisée pour générer la clé de cache : http://DomainName/FileName

          • URL pour la requête vers l'origine : http://DomainName/FileName

      • Si les valeurs ne correspondent pas, l'authentification échoue et le serveur renvoie une erreur HTTP 403.

Exemple

L'exemple suivant illustre la signature d'URL de type F.

  • Conditions de l'exemple

    • Récupération d'un objet depuis le serveur d'origine :

      http://domain.example.com/test.flv
      Remarque

      Si l'URL de la requête contient des caractères non ASCII, encodez d'abord l'URL. Utilisez l'URL encodée pour construire la chaîne de hachage. Par exemple :

      • URL d'origine : https://example.com/image/AlibabaCloud.jpg

      • URL encodée : https://example.com/image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg

    • Définissez PrivateKey sur aliyuncdnexp1234.

    • Définissez timestamp sur 55CE8100.

  • Procédure

    1. Construisez la chaîne de signature sstring au format Privatekey+URI+timestamp.

      aliyuncdnexp1234/test.flv55CE8100
    2. Calculez le hachage MD5 de la chaîne de signature :

      md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100)
              = a37fa50a5fb8f71214b1e7c95ec7a1bd
    3. Ajoutez le résultat de la signature et l'horodatage en tant que paramètres de requête pour former l'URL signée :

      http://domain.example.com/test.flv?sign=a37fa50a5fb8f71214b1e7c95ec7a1bd&time=55CE8100

Lorsqu'un client demande une ressource avec une URL signée, l'authentification réussit si la valeur md5hash calculée par le serveur CDNDCDN correspond à la valeur md5hash de la requête — par exemple, a37fa50a5fb8f71214b1e7c95ec7a1bd — et si l'URL n'a pas expiré. Sinon, l'authentification échoue.