Par défaut, le contenu distribué par DCDN est public et accessible à toute personne disposant de son URL. Pour protéger vos ressources d'origine contre les accès non autorisés et les téléchargements malveillants, utilisez la signature d'URL en complément d'autres méthodes de contrôle d'accès, telles que la protection contre le hotlinking par Referer et les listes d'autorisation/de blocage IP. La signature d'URL sécurise votre contenu en validant la chaîne chiffrée et l'horodatage contenus dans une URL signée.
Fonctionnement de la signature d'URL
La signature d'URL empêche l'accès non autorisé à vos ressources d'origine en coordonnant les requêtes entre les points de présence (POP) Alibaba Cloud DCDN et votre serveur d'origine. Le processus repose sur trois composants clés :
Serveur d'application d'origine : génère une URL signée selon une règle de signature définie (incluant l'algorithme et la clé), puis la renvoie au client.
Client : envoie l'URL signée à un POP DCDN pour demander une ressource.
POP DCDN : valide les informations contenues dans l'URL signée, telles que la chaîne de signature et l'horodatage.
-
DCDN configure les règles de génération des URL signées (y compris un algorithme de signature et une clé) sur le serveur d'application d'origine.
Par exemple, une URL signée peut avoir le format suivant :
http://DomainName/timestamp/md5hash/FileName. Lorsqu'un client accède à une page de votre application, le serveur d'application d'origine génère une URL signée selon les règles configurées et l'intègre à la page renvoyée au client.
Le client utilise l'URL signée pour demander la ressource auprès d'un POP DCDN.
-
Le POP DCDN valide les informations de l'URL signée, comme la chaîne de signature et l'horodatage, afin de déterminer si la requête est légitime.
Si l'authentification échoue, le POP rejette la requête.
-
Si l'authentification réussit, le POP diffuse le contenu.
RemarqueSi un nœud DCDN ne dispose pas de la ressource en cache, il supprime les paramètres d'authentification de l'URL signée pour la restaurer sous sa forme d'origine (par exemple,
http://DomainName/FileName), puis utilise cette URL d'origine pour générer une clé de cache ou initier une requête de récupération depuis l'origine.Après avoir authentifié l'URL de la requête, DCDN encode tous les caractères spéciaux présents dans l'URL, tels que les caractères chinois ou autres caractères non ASCII.
Notes d'utilisation
Signature d'URL pour l'actualisation et le préchargement — Soumettez une URL d'actualisation ou de préchargement qui correspond à la clé de cache réelle. Pour un nom de domaine avec signature d'URL configurée, soumettez l'URL d'origine sans les paramètres d'authentification (nom de domaine accéléré + chemin du fichier) et conservez les paramètres de requête métier. Si la valeur d'un paramètre de requête métier contient /, encodez ce caractère sous la forme %2F avant la soumission. Ne soumettez pas une URL d'accès client contenant des paramètres d'authentification. Une telle URL peut différer de la clé de cache réelle et ne pas correspondre à la ressource mise en cache cible. Préparez et soumettez votre URL en suivant les règles et exemples décrits dans le guide des ressources d'actualisation et de préchargement.
Configurer et activer la signature d'URL
Assurez-vous d'avoir configuré les règles de génération des URL signées, y compris l'algorithme de signature et la clé, sur votre serveur d'application d'origine.
La logique de signature d'URL configurée dans la console DCDN doit correspondre à celle de votre serveur d'application d'origine.
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, localisez le nom de domaine cible et cliquez sur Configure.
Dans l'arborescence de navigation de gauche du nom de domaine, cliquez sur Access Control.
Cliquez sur l'onglet URL Signing.
Activez le commutateur URL Authentication Setting.
-
Dans la boîte de dialogue URL Signing, configurez les paramètres de signature d'URL.

Paramètre
Description
Authentication Type
Sélectionnez le type d'authentification correspondant au format d'URL signée de votre serveur d'origine.
RemarqueEn cas d'échec de la signature d'URL, une erreur 403 est renvoyée :
Erreur de calcul MD5
Exemple :
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760beErreur liée à l'heure
Exemple :
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
Primary Key
Saisissez la clé primaire. Elle doit comporter entre 16 et 128 caractères et peut contenir des lettres et des chiffres. Elle ne doit pas contenir d'espaces ni de signes dollar ($).
Secondary Key
Saisissez la clé secondaire. Elle doit comporter entre 16 et 128 caractères et peut contenir des lettres et des chiffres. Elle ne doit pas contenir d'espaces ni de signes dollar ($). Au moins une clé est requise.
Validity period
Une URL signée reste valide de
timestampàtimestamp+validity period. Les requêtes effectuées en dehors de cette fenêtre sont rejetées.Unité : secondes
Plage de valeurs : 1 à 31 536 000
Valeur par défaut : 1800 (30 minutes)
Exemple : Une URL signée avec un horodatage du 15/08/2020 à 15:00:00 (UTC+8) et une période de validité de 1800 secondes expire le 15/08/2020 à 15:30:00 (UTC+8).
Cliquez sur OK.
Vérifier l'URL signée
Après avoir activé la signature d'URL, générez une URL de test dans la console DCDN pour vérifier votre logique de signature.
-
Dans la section Generate Encrypted URL for Testing, spécifiez l'Original URL et les informations d'authentification.

Paramètre
Description
Original URL
Saisissez l'URL d'origine. Exemple :
https://www.aliyun.com.Authentication Type
Sélectionnez le type d'authentification que vous avez configuré dans Configurer et activer la signature d'URL.
Authentication Key
Saisissez la Primary Key ou la Secondary Key issue de la section Configurer et activer la signature d'URL.
Validity Period
Saisissez la période de validité en secondes. Elle doit correspondre à la valeur définie dans Configurer et activer la signature d'URL.
-
Cliquez sur Generate pour obtenir l'Authentication URL et l'Timestamp.

Désactiver la signature d'URL
Si vous désactivez la signature d'URL dans la console DCDN mais que les requêtes clients contiennent toujours des paramètres de signature, DCDN ne peut pas restaurer les URL de requête à leur format d'origine. Cela entraîne des échecs de cache (cache miss), redirigeant toutes ces requêtes vers votre serveur d'origine. Par conséquent, votre trafic et vos coûts d'origine augmentent considérablement. Ainsi, pour désactiver complètement la signature d'URL, vous devez supprimer la configuration à la fois de votre serveur d'application et de la console DCDN.
Dans la console DCDN, accédez à la section URL Authentication Setting et désactivez le commutateur de signature d'URL.
Sur votre serveur d'origine, supprimez la logique qui ajoute des paramètres d'authentification aux URL.