Tous les produits
Search
Centre de documentation

Object Storage Service:Access OSS through a custom domain name

Dernière mise à jour :Sep 17, 2026

Les endpoints des buckets OSS forcent le téléchargement des fichiers au lieu d'en afficher l'aperçu. Associez un nom de domaine personnalisé à votre bucket pour activer les aperçus dans le navigateur et bénéficier d'un contrôle d'accès flexible.

Important
  • À compter du 20 mars 2025 à 00:00:00 (UTC+8), les nouveaux utilisateurs d'OSS ne pourront plus accéder aux API de données des buckets situés dans les régions de Chine continentale via les endpoints publics par défaut (tels que oss-cn-hangzhou.aliyuncs.com). Ces requêtes seront rejetées avec l'erreur PublicEndpointForbidden (HTTP 400, EC 0048-00000401). Pour maintenir l'accès public à ces API, vous devez utiliser un nom de domaine personnalisé comme décrit dans la Note de mise à jour OSS.

  • Avant d'associer un nom de domaine personnalisé, assurez-vous de disposer d'un nom de domaine enregistré ou enregistrez-en un nouveau. Si le bucket se trouve en Chine continentale, le nom de domaine associé doit disposer d'un enregistrement ICP. Si le bucket se trouve dans une région hors de Chine continentale (comme Chine (Hong Kong) ou Singapour), l'enregistrement ICP n'est pas requis pour le nom de domaine personnalisé associé. L'accès transfrontalier depuis la Chine continentale vers des buckets situés hors de Chine continentale peut entraîner une latence réseau plus élevée. Choisissez la région du bucket en fonction de l'emplacement géographique de vos utilisateurs.

Fonctionnement

Un enregistrement CNAME (Canonical Name) associe votre nom de domaine personnalisé à l'endpoint du bucket. Lorsque les utilisateurs accèdent à votre nom de domaine personnalisé, le DNS résout l'enregistrement CNAME et achemine les requêtes vers l'endpoint du bucket.

Choisissez une méthode d'association adaptée à vos besoins :

Associer un nom de domaine à l'endpoint public

Associez votre domaine à l'endpoint public pour héberger des fichiers statiques (images, scripts) et activer les aperçus en ligne.

Étape 1 : Associer le domaine au bucket

  1. Accédez à la page Buckets, cliquez sur le nom du bucket cible, puis, dans le volet de navigation de gauche, cliquez sur Bucket Settings > Domain Names.

  2. Cliquez sur Map Custom Domain Name et saisissez le domaine que vous souhaitez associer, par exemple oss-example.cn. Le système vérifie automatiquement si le domaine respecte les exigences d'association.

    image

  3. Une fois la vérification réussie, associez le domaine au bucket.

    Association directe

    Si le domaine appartient à votre compte Alibaba Cloud actuel, associez-le directement. Cliquez sur Confirm pour associer le domaine au bucket.

    image

    Vérifier la propriété du domaine et l'associer

    Si le domaine appartient à un autre compte Alibaba Cloud ou utilise un autre fournisseur DNS, vérifiez d'abord la propriété du domaine. Les étapes suivantes décrivent la procédure pour un domaine appartenant à un autre compte Alibaba Cloud.

    1. Connectez-vous à la console Alibaba Cloud DNS avec le compte propriétaire du domaine. Dans la colonne Actions du domaine cible, cliquez sur Settings.

    2. Cliquez sur Add Record. Renseignez les informations d'enregistrement comme indiqué ci-dessous et laissez les autres paramètres avec leurs valeurs par défaut.

      • Record Type : Sélectionnez TXT.

      • Hostname : Saisissez le nom d'hôte affiché dans la console OSS, par exemple _dnsauth. Si vous associez un sous-domaine, tel que image.oss-example.cn, ajoutez le préfixe du sous-domaine au nom d'hôte. Par exemple, _dnsauth.image.

      • Record Values : Saisissez la valeur d'enregistrement affichée dans la console OSS, par exemple 21a0****************************.

    3. Cliquez sur OK. Dans la boîte de dialogue Change Resource Record Confirmation qui s'affiche, cliquez à nouveau sur OK.

    4. Revenez à la console OSS et cliquez sur Verify Domain Name Ownership. Cette action associe le domaine au bucket. La prise en compte des enregistrements DNS peut prendre un certain temps. En cas d'erreur, attendez quelques minutes et réessayez.

    Remarque

    L'enregistrement TXT sert uniquement à vérifier la propriété du domaine. Supprimez-le une fois la vérification réussie. Cela n'affecte pas l'utilisation ultérieure.

Étape 2 : Configurer un enregistrement CNAME pointant vers l'endpoint public

Après avoir associé le domaine au bucket, configurez un enregistrement CNAME pointant vers le nom de domaine CNAME (recommandé) ou l'endpoint public pour l'activer.

Important

Vous devez associer le nom de domaine personnalisé au bucket cible avant de créer l'enregistrement CNAME. Sans cette association, les requêtes ne peuvent pas être résolues vers le bon bucket et peuvent renvoyer un contenu inattendu.

Lorsque vous supprimez une association de domaine, supprimez également l'enregistrement CNAME correspondant pour éviter les erreurs de routage.

Configuration automatique

Si le domaine appartient à votre compte Alibaba Cloud actuel, activez l'option Automatically Add CNAME Record dans la console après avoir associé le domaine. Le système ajoutera automatiquement un enregistrement CNAME pour le domaine dans Alibaba Cloud DNS.

Remarque

Si un message indique que l'enregistrement CNAME ne peut pas être ajouté automatiquement car un enregistrement avec le même nom d'hôte existe déjà, cela signifie qu'un enregistrement CNAME a été précédemment créé pour ce domaine. Connectez-vous à la console Alibaba Cloud DNS pour vérifier si l'enregistrement CNAME est toujours utilisé. Sinon, supprimez-le, puis ajoutez l'enregistrement CNAME correct.

image

Configuration manuelle

Si un enregistrement CNAME existe déjà pour le domaine, ou si le domaine appartient à un autre compte Alibaba Cloud ou à un autre fournisseur DNS, vous devez configurer l'enregistrement CNAME auprès de votre fournisseur DNS. Les étapes suivantes montrent comment configurer un enregistrement CNAME en utilisant Alibaba Cloud DNS.

  1. Accédez à la page Buckets, cliquez sur le nom de votre bucket cible, puis dans le volet de navigation de gauche, cliquez sur Overview. Copiez le CNAME Domain Name (recommandé) ou le Bucket Domain Name situé à droite de Access Over Internet.

  2. Connectez-vous à la console Alibaba Cloud DNS avec le compte propriétaire du domaine. Dans la colonne Actions du domaine cible, cliquez sur Settings.

  3. Cliquez sur Add Record. Renseignez les informations d'enregistrement comme indiqué ci-dessous et laissez les autres paramètres avec leurs valeurs par défaut.

    Remarque

    Si un enregistrement CNAME existe déjà, cliquez sur Edit dans la colonne Actions de l'enregistrement et modifiez la valeur d'enregistrement pour utiliser le nom de domaine CNAME (recommandé) ou l'endpoint public du bucket OSS.

    • Record Type, sélectionnez CNAME.

    • Hostname : Si vous associez un domaine apex (domaine racine), saisissez @. Si vous associez un sous-domaine, tel que image.oss-example.cn, saisissez le préfixe du sous-domaine, par exemple, image.

    • Record Values : Saisissez le nom de domaine CNAME (recommandé) ou l'endpoint public, par exemple p******.cn-hangzhou.taihang***.cn ou pub******.oss-cn-hangzhou.aliyuncs.com.

  4. Cliquez sur OK. Dans la boîte de dialogue Change Resource Record Confirmation qui s'affiche, cliquez à nouveau sur OK pour terminer la configuration DNS.

Important

La propagation DNS dépend du paramètre TTL et peut prendre de quelques minutes à plusieurs heures. Si le domaine n'est pas immédiatement accessible, patientez ou videz le cache DNS local.

Étape 3 : Vérifier l'accès via le nom de domaine personnalisé

Après avoir terminé l'association du domaine et la configuration DNS, choisissez une méthode de vérification en fonction des paramètres de liste de contrôle d'accès (ACL) de votre bucket.

Buckets en lecture publique et en lecture/écriture publique

Dans un navigateur, accédez à un objet du bucket en utilisant le format d'URL http://your_domain_name/object_path, où your_domain_name est votre nom de domaine personnalisé associé et object_path est le chemin d'accès de l'objet au sein du bucket. Par exemple, si l'objet dest.jpg est stocké dans le répertoire exampledir du bucket, le object_path est exampledir/dest.jpg. La figure suivante montre le résultat de l'accès :

image

Buckets privés

L'accès à un bucket privé nécessite une URL signée. Les étapes suivantes montrent comment obtenir une URL pré-signée depuis la console. Pour générer des signatures par programmation, utilisez la Signature Version 4 (recommandée).

  1. Accédez à la page Buckets et cliquez sur le nom du bucket cible.

  2. Dans la colonne Actions de l'objet cible auquel vous souhaitez accéder, cliquez sur View Details.

  3. Définissez le Domaine sur Custom Domain Name, sélectionnez votre nom de domaine personnalisé associé dans la liste déroulante, puis cliquez sur Copy Object URL.

  4. Accédez à l'URL dans un navigateur. La figure suivante montre le résultat de l'accès.

image

Associer un domaine à l'endpoint d'accélération

Pour accélérer les transferts de données interrégionaux (téléchargements et uploads), associez le domaine au bucket, activez l'accélération de transfert et pointez l'enregistrement CNAME vers l'endpoint d'accélération.

Étape 1 : Associer le domaine au bucket

  1. Accédez à la page Buckets, cliquez sur le nom du bucket cible, puis, dans le volet de navigation de gauche, cliquez sur Bucket Settings > Domain Names.

  2. Cliquez sur Map Custom Domain Name et saisissez le domaine que vous souhaitez associer, par exemple oss-example.cn. Le système vérifie automatiquement si le domaine respecte les exigences d'association.

    image

  3. Une fois la vérification réussie, associez le domaine au bucket.

    Association directe

    Si le domaine appartient à votre compte Alibaba Cloud actuel, associez-le directement. Cliquez sur Confirm pour associer le domaine au bucket.

    image

    Vérifier la propriété du domaine et l'associer

    Si le domaine appartient à un autre compte Alibaba Cloud ou utilise un autre fournisseur DNS, vérifiez d'abord la propriété du domaine. Les étapes suivantes décrivent la procédure pour un domaine appartenant à un autre compte Alibaba Cloud.

    1. Connectez-vous à la console Alibaba Cloud DNS avec le compte propriétaire du domaine. Dans la colonne Actions du domaine cible, cliquez sur Settings.

    2. Cliquez sur Add Record. Renseignez les informations d'enregistrement comme indiqué ci-dessous et laissez les autres paramètres avec leurs valeurs par défaut.

      • Record Type : Sélectionnez TXT.

      • Hostname : Saisissez le nom d'hôte affiché dans la console OSS, par exemple _dnsauth. Si vous associez un sous-domaine, tel que image.oss-example.cn, ajoutez le préfixe du sous-domaine au nom d'hôte. Par exemple, _dnsauth.image.

      • Record Values : Saisissez la valeur d'enregistrement affichée dans la console OSS, par exemple 21a0****************************.

    3. Cliquez sur OK. Dans la boîte de dialogue Change Resource Record Confirmation qui s'affiche, cliquez à nouveau sur OK.

    4. Revenez à la console OSS et cliquez sur Verify Domain Name Ownership. Cette action associe le domaine au bucket. La prise en compte des enregistrements DNS peut prendre un certain temps. En cas d'erreur, attendez quelques minutes et réessayez.

    Remarque

    L'enregistrement TXT sert uniquement à vérifier la propriété du domaine. Supprimez-le une fois la vérification réussie. Cela n'affecte pas l'utilisation ultérieure.

Étape 2 : Activer l'accélération de transfert

  1. Accédez à la page Buckets, cliquez sur le nom du bucket cible, puis dans le volet de navigation de gauche, cliquez sur Bucket Settings > Transfer Acceleration

  2. Enable Transfer Acceleration. Dans la boîte de dialogue qui s'affiche, lisez attentivement l'avis, puis cliquez sur OK.

  3. Copiez l'Acceleration Endpoint.

Étape 3 : Configurer un enregistrement CNAME pointant vers l'endpoint d'accélération

Les étapes suivantes montrent comment configurer un enregistrement CNAME en utilisant Alibaba Cloud DNS.

Important

Vous devez associer le nom de domaine personnalisé au bucket cible avant de créer un enregistrement CNAME pour l'endpoint d'accélération de transfert. Sans cette association, les requêtes ne peuvent pas être résolues vers le bon bucket et peuvent renvoyer un contenu inattendu.

Lorsque vous supprimez une association de domaine, supprimez également l'enregistrement CNAME correspondant pour éviter les erreurs de routage.

  1. Connectez-vous à la console Alibaba Cloud DNS avec le compte propriétaire du domaine. Dans la colonne Actions du domaine cible, cliquez sur Settings.

  2. Cliquez sur Add Record. Renseignez les informations d'enregistrement comme indiqué ci-dessous et laissez les autres paramètres avec leurs valeurs par défaut.

    Remarque

    Si un enregistrement CNAME existe déjà, cliquez sur Edit dans la colonne Actions de l'enregistrement et modifiez la valeur d'enregistrement pour utiliser l'Acceleration Endpoint.

    • Record Type, sélectionnez CNAME.

    • Hostname : Si vous associez un domaine apex (domaine racine), saisissez @. Si vous associez un sous-domaine, tel que image.oss-example.cn, saisissez le préfixe du sous-domaine, par exemple, image.

    • Record Values, saisissez l'Acceleration Endpoint.

  3. Cliquez sur OK. Dans la boîte de dialogue Change Resource Record Confirmation qui s'affiche, cliquez à nouveau sur OK pour terminer la configuration DNS.

Remarque

La propagation DNS dépend du paramètre TTL et peut prendre de quelques minutes à plusieurs heures. Si le domaine n'est pas immédiatement accessible, patientez ou videz le cache DNS local.

Étape 4 : Vérifier l'accès via le nom de domaine personnalisé

Après avoir terminé l'association du domaine et la configuration DNS, choisissez une méthode de vérification en fonction des paramètres de liste de contrôle d'accès (ACL) de votre bucket.

Buckets en lecture publique et en lecture/écriture publique

Dans un navigateur, accédez à un objet du bucket en utilisant le format d'URL http://your_domain_name/object_path, où your_domain_name est votre nom de domaine personnalisé associé et object_path est le chemin d'accès de l'objet au sein du bucket. Par exemple, si l'objet dest.jpg est stocké dans le répertoire exampledir du bucket, le object_path est exampledir/dest.jpg. La figure suivante montre le résultat de l'accès :

image

Buckets privés

L'accès à un bucket privé nécessite une URL signée. Les étapes suivantes montrent comment obtenir une URL pré-signée depuis la console. Pour générer des signatures par programmation, utilisez la Signature Version 4 (recommandée).

  1. Accédez à la page Buckets et cliquez sur le nom du bucket cible.

  2. Dans la colonne Actions de l'objet cible auquel vous souhaitez accéder, cliquez sur View Details.

  3. Définissez le Domaine sur Custom Domain Name, sélectionnez votre nom de domaine personnalisé associé dans la liste déroulante, puis cliquez sur Copy Object URL.

  4. Accédez à l'URL dans un navigateur. La figure suivante montre le résultat de l'accès.

image

Application en production

Bonnes pratiques

  • Transfert sécurisé : activer HTTPS

    Configurez un certificat SSL pour votre domaine personnalisé afin d'imposer HTTPS. TLS/SSL chiffre les données en transit, empêche l'interception et la falsification, et élimine les avertissements « Non sécurisé » des navigateurs.

  • Accès cross-origin : configurer les règles CORS

    Lorsqu'une application front-end située à l'adresse https://web.example.cn accède aux ressources OSS situées à l'adresse https://oss.example.cn, configurez les règles CORS pour autoriser les requêtes cross-origin tout en bloquant les accès non autorisés.

  • Basculement sans interruption : changer de domaine sans temps d'arrêt

    Lorsque vous devez passer d'un endpoint de bucket à un domaine personnalisé associé, utilisez la stratégie progressive suivante pour éviter les interruptions de service.

    1. Phase de préparation : associez le domaine personnalisé au bucket et configurez l'enregistrement CNAME. Dans un environnement de test, utilisez un fichier hosts ou un domaine de test pour vérifier entièrement la fonctionnalité et les performances de la nouvelle configuration de domaine personnalisé. Assurez-vous que toutes les fonctionnalités fonctionnent comme prévu.

    2. Phase de déploiement canari (recommandée pendant les heures creuses) : transférez progressivement une partie de votre trafic vers le domaine personnalisé. Cette approche progressive minimise les risques associés au changement.

    3. Phase de vérification : surveillez attentivement les journaux d'accès et les taux d'erreur. Analysez les métriques clés telles que le temps de réponse et le taux de réussite pour garantir la stabilité du service.

    4. Phase de déploiement complet : après une vérification approfondie, migrez tout le trafic vers le domaine personnalisé pour achever la migration du domaine.

    5. Procédure de rollback : en cas de problème, revenez immédiatement à l'endpoint du bucket, analysez la cause racine et redéployez.

  • Performance et sécurité : isoler les usages avec des sous-domaines

    Attribuez des sous-domaines par objectif, tels que static.example.com pour les actifs web et images.example.com pour les images. L'isolation des domaines optimise les connexions concurrentes du navigateur, permet une mise en cache indépendante et prend en charge des politiques de sécurité granulaires.

  • Extension de fonctionnalité : héberger un site web statique

    Pour héberger un site web statique complet (incluant les fichiers HTML, CSS et JS) sur OSS, configurez l'hébergement de site web statique après avoir associé votre domaine personnalisé. Cela active les fonctionnalités de base du site web, telles qu'une page d'accueil par défaut et une page d'erreur 404.

  • Optimisation des performances : configurer l'accélération CDN

    Pour les cas d'utilisation nécessitant la distribution de ressources statiques aux utilisateurs du monde entier, nous recommandons de configurer le service d'accélération CDN en plus de votre domaine personnalisé. Cela met en cache le contenu sur des nœuds périphériques distribués mondialement, ce qui réduit la latence d'accès, augmente la concurrence et améliore l'expérience utilisateur.

Atténuation des risques

  • Protection contre le vol de bande passante : configurer la protection anti-hotlink basée sur le Referer

    Pour empêcher d'autres sites web d'utiliser vos ressources en hotlinking et d'engendrer des coûts de trafic inutiles, utilisez une politique de protection anti-hotlink pour prévenir l'abus de transmission de données. Restreignez les sources d'accès via une liste d'autorisation pour contrôler les coûts et protéger les ressources.

  • Audit comportemental et dépannage : activer les journaux d'accès

    Activez Real-time Log Query pour enregistrer les détails d'accès (heure, IP source, type de requête, statut de réponse) à des fins d'audits de sécurité, d'analyse des performances et de dépannage.

Limitations

  • Limite de mappage : Un maximum de 100 noms de domaine personnalisés peuvent être associés à chaque compartiment.

  • Unicité du domaine : Un nom de domaine personnalisé ne peut être associé qu'à une seule bucket à la fois. Pour modifier le mappage, vous devez d'abord dissocier le domaine de l'bucket d'origine afin de garantir que le nom de domaine possède une destination unique et un chemin d'accès clair.

    Remarque

    Pour certains utilisateurs de l'ancienne fonctionnalité de traitement d'images, les domaines déjà utilisés pour le traitement d'images ne peuvent pas être associés à un compartiment. La nouvelle fonctionnalité de traitement d'images n'est pas soumise à cette limitation.

  • Types de noms de domaine : Le mappage de domaines chinois et de domaines génériques (wildcard), tels que *.example.cn, n'est pas pris en charge. Cela garantit la stabilité et la compatibilité de la résolution DNS.

    Remarque

    Lorsque vous accélérez l'accès à OSS en utilisant un Content Delivery Network (CDN), associez un domaine générique, mais celui-ci ne s'affichera pas dans la console OSS.

FAQ

Que faire si je reçois une erreur NeedVerifyDomainOwnership lors du mappage d'un domaine via l'API ?

Cette erreur indique que vous n'avez pas vérifié la propriété du domaine. Vérifiez la propriété du domaine en suivant les étapes ci-dessous :

  1. Appelez l'opération CreateCnameToken pour créer le CnameToken requis pour la vérification de la propriété du domaine.

    Remarque

    Par défaut, un CnameToken expire 72 heures après sa création. Si vous tentez de créer à nouveau un jeton avant son expiration, le CnameToken existant est renvoyé.

  2. Suivez les instructions de cette rubrique pour configurer un enregistrement TXT auprès de votre fournisseur DNS afin de terminer la vérification de la propriété du domaine.

  3. Appelez l'opération PutCname pour associer le nom de domaine personnalisé.

Dois-je vérifier à nouveau la propriété du domaine dans OSS si j'ai déjà effectué la vérification de l'enregistrement TXT dans CDN ?

La vérification de la propriété du domaine dans CDN et dans OSS sont indépendantes l'une de l'autre. La réalisation de la vérification de l'enregistrement TXT dans CDN ne s'applique pas automatiquement à OSS. Lorsque vous associez un domaine personnalisé à un compartiment OSS, vous devez effectuer séparément la vérification de la propriété du domaine (vérification de l'enregistrement TXT) dans OSS. Pour les étapes de configuration de l'enregistrement TXT, consultez les sections sur le mappage direct et la vérification de la propriété du domaine plus haut dans cette rubrique.

Si le domaine appartient à votre compte Alibaba Cloud actuel, vous pouvez l'associer directement sans vérification de l'enregistrement TXT. Si vous recevez une erreur NeedVerifyDomainOwnership lors du mappage du domaine via l'API, cela indique que la vérification de la propriété du domaine n'a pas été effectuée. Vous devez terminer la vérification de l'enregistrement TXT pour que le mappage aboutisse.

Que faire si je reçois une erreur 502 ou 504 lors de l'accès aux ressources via un endpoint d'accélération ?

OSS Transfer Acceleration commute dynamiquement les chemins de transmission pour s'adapter aux fluctuations du réseau. Lors des commutations de chemin, certaines requêtes peuvent être interrompues, provoquant des erreurs 502 ou 504. Il est impossible d'éviter complètement ce phénomène. Implémentez une logique de nouvelle tentative avec backoff exponentiel dans le code de votre client pour gérer ces échecs transitoires.

Comment résoudre les problèmes réseau tels que les échecs de résolution ou les délais de connexion dépassés ?

Si vous recevez une réponse d'OSS, obtenez l'ID de requête et utilisez l'outil de diagnostic en libre-service OSS pour diagnostiquer le problème.

Si la requête est interrompue avant d'atteindre le serveur OSS, ce qui signifie que l'Request ID est vide, suivez les étapes ci-dessous pour résoudre le problème :

  • Connexion refusée : Cette erreur indique généralement que le client et OSS se trouvent dans la même région, mais que le port est bloqué, ou qu'un endpoint interne est utilisé pour un accès inter-régions. Vérifiez et utilisez le bon Public Endpoint pour l'accès. Utilisez également les commandes ping et telnet pour vérifier les paramètres du pare-feu côté client ou les restrictions de connectivité réseau.

  • ConnectionTimeOut : Cela est généralement dû à un environnement réseau médiocre ou à un paramètre de délai d'attente trop court. Augmentez les valeurs de délai d'attente de connexion et de lecture dans votre SDK et activez le mécanisme de nouvelle tentative. Pour les transferts de fichiers volumineux, utilisez le téléchargement multipartie et le téléchargement avec reprise pour améliorer la stabilité du transfert. S'il s'agit d'un problème de liaison réseau, envisagez d'utiliser un CDN ou le service OSS Transfer Acceleration.

  • Délai d'attente du socket ou socket fermé : Cela indique que la connexion à OSS a expiré ou a été fermée de manière inattendue. Augmentez le délai d'attente du socket dans la configuration de votre SDK (par exemple, la méthode ClientConfiguration.setSocketTimeout dans le SDK Java).

  • Réinitialisation de la connexion : La connexion a été réinitialisée pour diverses raisons, telles qu'une configuration incorrecte de l'endpoint ou une restriction du compartiment pour des raisons de sécurité. Résolvez le problème dans l'ordre suivant :

    1. Utilisez ping ou l'outil de diagnostic Alibaba Cloud Kunlun pour vérifier si la connectivité réseau du client est normale.

    2. Confirmez que l'endpoint configuré dans votre code est correct et inclut le préfixe de protocole approprié (http:// ou https://).

    3. Confirmez que le compartiment n'a pas été placé dans le bac à sable OSS en raison d'attaques de sécurité ou de violations de politique, ce qui restreindrait l'accès.

    4. Si le problème persiste, utilisez un outil comme Wireshark pour capturer les paquets réseau, puis contactez le Technical Support pour une investigation approfondie.

Que faire si les vitesses de téléchargement ou de téléversement vers OSS sont très lentes ?

La vitesse de transfert dépend de la bande passante du client, de la qualité de la liaison réseau et de la configuration de la stratégie de transfert.

  • Dépannage général : Confirmez que l'utilisation de la bande passante n'a pas atteint la limite de bande passante du compartiment. Ensuite, utilisez l'outil MTR pour l'analyse de la liaison réseau afin de vérifier les pertes de paquets, la latence ou les anomalies de routage. Pour les transferts inter-régions, activez et utilisez l'accélération du transfert pour optimiser le chemin réseau.

  • Optimisation des outils : Utilisez l'interface de ligne de commande ossutil 2,0 pour transférer des fichiers volumineux ou nombreux. Utilisez sa commande probe pour vérifier l'état du réseau.

  • Optimisation du SDK : Pour les fichiers volumineux, vous devez utiliser les fonctionnalités de téléchargement multipartie et de téléchargement avec reprise. Configurez la taille des parties (part_size) et le nombre de threads simultanés (num_threads) de manière appropriée. Lorsque les conditions réseau sont bonnes, augmentez la taille des parties pour réduire le nombre de requêtes. De plus, désactivez la validation CRC64 lors de l'initialisation du client SDK (par exemple, définissez enable_crc=False en Python) et ajoutez Content-MD5 à l'en-tête de la requête pour les contrôles d'intégrité des données. Cela peut améliorer les performances de transfert tout en garantissant la sécurité des données.

Comment contrôler si un fichier est affiché en aperçu ou téléchargé lors de l'accès via un domaine personnalisé ?

L'en-tête Content-Disposition détermine si un fichier est affiché en aperçu ou téléchargé. Les endpoints des compartiments OSS imposent Content-Disposition: attachment par mesure de sécurité. Les domaines personnalisés n'ajoutent pas cet en-tête, ce qui rend le comportement contrôlable.

  • Pour activer l'aperçu : Assurez-vous que l'en-tête Content-Disposition: attachment n'est pas défini dans les métadonnées de l'objet et que le Content-Type (type MIME) de l'objet correspond correctement au format de fichier. Pour les formats de fichier non nativement pris en charge par les navigateurs, étendez les capacités d'aperçu de la manière suivante :

    • Pour les fichiers bureautiques tels que les fichiers .doc, .ppt et .pdf, intégrez le service WebOffice online preview.

    • Pour les formats vidéo spéciaux tels que .mov, utilisez le service de transcodage vidéo pour les convertir dans un format compatible avec le web pour l'aperçu.

    • Installez une extension de navigateur pour le type de fichier correspondant.

  • Pour forcer le téléchargement : Définissez manuellement les métadonnées Content-Disposition de l'objet sur attachment. Le navigateur ignorera alors la tentative d'aperçu et téléchargera directement le fichier.

  • Remarque

    Les balises HTML <video> ou <audio> prioriseront la lecture du média et pourront ignorer la directive de téléchargement attachment.

Que faire si le mappage du domaine échoue avec un message indiquant que le domaine est déjà associé à un autre compartiment ?

Si un domaine est déjà associé à un autre compartiment, utilisez l'une des deux solutions suivantes :

  • Utilisez un nouveau sous-domaine pour votre activité actuelle. Si le domaine oss-example.cn est déjà associé à un autre compartiment, utilisez un nouveau sous-domaine tel que static.oss-example.cn pour le mappage. Cela vous permet d'isoler les services au niveau du domaine.

  • Dissociez le domaine du compartiment d'origine, puis associez-le au compartiment cible. Suivez les étapes ci-dessous pour dissocier un domaine :

    1. Si vous avez activé l'accélération CDN, vous devez d'abord modifier les informations du serveur d'origine dans le service CDN afin que le domaine accéléré ne pointe plus vers l'endpoint du compartiment OSS. Cela évite les échecs de retour à l'origine depuis le CDN. Pour les instructions, consultez Configurer une origine.

    2. Accédez à la page Buckets, cliquez sur le nom du compartiment auquel le domaine est actuellement associé, puis dans le volet de navigation de gauche, cliquez sur Bucket Settings > Domain Names.

    3. Dans la liste des domaines, recherchez le domaine cible et cliquez sur Unmap dans la colonne Actions. Dans la boîte de dialogue qui s'affiche, cliquez sur OK pour dissocier le domaine.

Pourquoi l'accès échoue-t-il lorsque « le domaine B est associé via CNAME au domaine A, et le domaine A est associé à OSS » ?

OSS valide que l'en-tête Host correspond au domaine associé au compartiment. Lorsque les utilisateurs accèdent au domaine B, l'Host est « Domaine B », ce qui ne correspond pas au domaine A, provoquant un échec de la validation de l'Host. Associez le domaine public (domaine B) directement au compartiment au lieu d'utiliser une chaîne CNAME.

Pourquoi le domaine personnalisé ne fonctionne-t-il pas ou pointe-t-il toujours vers une ancienne adresse après la configuration ?

Cela est probablement dû à la mise en cache DNS sur votre machine locale ou chez votre FAI. Le problème se résout généralement dans les 10 minutes suivant une nouvelle tentative.

Les nœuds DNS mettent en cache les résultats de résolution en fonction de la valeur TTL. Après avoir modifié un enregistrement CNAME, les caches obsolètes peuvent diriger les requêtes vers l'ancienne adresse jusqu'à l'expiration du TTL. Effacez votre cache DNS local ou attendez l'actualisation automatique :

Windows

ipconfig /flushdns

macOS

 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux

 sudo systemd-resolve --flush-caches

Comment accéder aux fichiers OSS avec une URL de longue durée ne nécessitant pas de signature ?

Créez des URL de longue durée sans signature de deux manières :

Après avoir associé un domaine personnalisé, puis-je toujours utiliser les anciennes URL de fichier ?

Oui. L'association d'un domaine personnalisé n'affecte pas l'accès via l'endpoint d'origine du compartiment ; les deux coexistent. Utilisez une URL signée pour télécharger un fichier.

Après avoir arrêté la résolution CNAME pour un domaine personnalisé, puis-je toujours accéder au compartiment via l'endpoint par défaut ?

Oui. L'endpoint par défaut d'OSS (par exemple, your-bucket.oss-cn-hangzhou.aliyuncs.com) est attribué automatiquement lors de la création du compartiment et est indépendant de tout nom de domaine personnalisé. Si vous arrêtez la résolution DNS d'un nom de domaine personnalisé (en supprimant son enregistrement CNAME), le nom de domaine personnalisé devient inaccessible, mais l'endpoint par défaut n'est pas affecté. Tant que l'ACL du compartiment est définie sur public-read, ou si vous utilisez une URL signée valide, l'endpoint par défaut reste accessible.

La dissociation d'un nom de domaine personnalisé et l'arrêt de sa résolution DNS sont deux opérations indépendantes : vous dissociez le nom de domaine personnalisé sur la page Domain Names de la console OSS, tandis que vous arrêtez la résolution DNS en supprimant l'enregistrement CNAME auprès de votre fournisseur DNS. L'arrêt de la résolution DNS seul ne dissocie pas automatiquement le domaine côté OSS.

Après avoir associé un domaine personnalisé à un compartiment OSS, celui-ci ne peut-il être accessible que via un endpoint public ? Est-il également possible de l'utiliser pour un accès au réseau interne (privé) ?

Les domaines personnalisés sont destinés uniquement à l'accès au réseau public ; ils ne peuvent pas être utilisés pour un accès interne (privé).

Les domaines personnalisés utilisent un enregistrement CNAME pointant vers l'endpoint public du compartiment (tel que examplebucket.oss-cn-hangzhou.aliyuncs.com).

L'accès interne nécessite des endpoints internes Alibaba Cloud (tels que oss-cn-hangzhou-internal.aliyuncs.com), accessibles uniquement depuis des ressources situées dans la même région et le même VPC. Les endpoints internes ne sont pas résolubles par le DNS public et ne peuvent pas être des cibles CNAME.

Pourquoi mes requêtes HTTP sont-elles automatiquement redirigées vers HTTPS lors de l'utilisation d'un domaine personnalisé ?

Cela se produit parce que la fonctionnalité de redirection forcée vers HTTPS est activée pour votre domaine personnalisé. Ce paramètre redirige automatiquement toutes les requêtes HTTP entrantes vers leur équivalent HTTPS.

Bien qu'OSS lui-même ne prenne pas nativement en charge la redirection forcée, ce comportement est activé au niveau du CDN. Lorsque vous utilisez Alibaba Cloud CDN avec votre domaine personnalisé et un certificat HTTPS, vous pouvez activer l'option de redirection forcée (HTTP → HTTPS) dans la console CDN. Cela instruit le CDN de renvoyer une réponse 301 ou 302 à toute requête HTTP, incitant le navigateur à renvoyer la requête via HTTPS.

Pour autoriser l'accès HTTP et HTTPS, accédez à la console Alibaba Cloud CDN, sélectionnez le domaine concerné et modifiez le Redirect Type en Default. Pour des instructions détaillées, consultez Configurer la redirection HTTP/S.

Que faire si je rencontre l'erreur ERR_SSL_VERSION_OR_CIPHER_MISMATCH après avoir configuré l'accélération CDN pour OSS ?

Lorsqu'un nom de domaine accéléré dans CDN est configuré avec plusieurs serveurs d'origine (une origine IP et une origine OSS), CDN achemine les requêtes vers les serveurs d'origine de manière aléatoire. Si une requête est acheminée vers une origine IP qui n'a pas HTTPS configuré, la négociation SSL échoue et le navigateur affiche l'erreur ERR_SSL_VERSION_OR_CIPHER_MISMATCH.

Pour résoudre ce problème, effectuez les étapes suivantes :

  1. Connectez-vous à la console CDN et vérifiez la configuration du serveur d'origine du nom de domaine accéléré dans la gestion des domaines. Si une origine IP existe, supprimez-la et conservez uniquement l'origine OSS.

  2. Dans les paramètres HTTPS du nom de domaine accéléré, activez HTTPS et sélectionnez un certificat SSL valide qui correspond au nom de domaine accéléré.

Puis-je télécharger des fichiers via un domaine personnalisé ?

Non, vous ne pouvez pas télécharger directement des fichiers via une URL de domaine personnalisé. Un domaine personnalisé associé à OSS est essentiellement un endpoint API REST OSS. L'envoi d'une requête HTTP PUT directement depuis une URL de navigateur sera rejeté en raison de l'absence de signature d'authentification (renvoyant 403 AccessDenied). Les domaines personnalisés sont principalement utilisés pour l'accès HTTP GET aux fichiers que vous avez déjà téléchargés (tels que les images, les pages web et autres ressources statiques).

Pour télécharger des fichiers vers un compartiment OSS, utilisez l'un des outils suivants :

  • ossbrowser : Un outil GUI adapté aux utilisateurs non techniques. Pour les instructions d'installation, consultez le guide d'installation d'ossbrowser.

  • ossutil : Un outil CLI adapté au personnel O&M.

  • OSS SDK : Adapté aux développeurs pour l'intégration dans les applications.

Lors de la configuration de l'Endpoint dans ossbrowser, vous pouvez utiliser l'endpoint public OSS ou votre domaine personnalisé. Assurez-vous que votre AccessKey est correctement configuré.