Tous les produits
Search
Centre de documentation

Object Storage Service:website

Dernière mise à jour :Aug 19, 2026

Utilisez la fonctionnalité d'hébergement de site web statique pour héberger votre site dans un compartiment Object Storage Service (OSS) et y accéder via le endpoint du compartiment. Une fois l'hébergement configuré, si les données demandées par les utilisateurs n'existent pas dans OSS, configurez des règles de retour à la source pour garantir leur récupération. Cette rubrique explique comment exécuter la commande website pour ajouter, modifier, consulter ou supprimer les configurations d'hébergement de site web statique et de retour à la source d'un compartiment.

Notes d'utilisation

  • Pour ajouter ou modifier les configurations liées au site web d'un compartiment, vous devez disposer de l'autorisation oss:PutBucketWebsite. Pour les consulter, l'autorisation oss:GetBucketWebsite est requise. Pour les supprimer, vous devez disposer de l'autorisation oss:DeleteBucketWebsite. Pour plus d'informations, consultez la section Accorder une stratégie personnalisée.

  • À partir de la version 1.6.16 d'ossutil, utilisez directement ossutil comme nom binaire dans la ligne de commande, sans adaptation selon le système d'exploitation. Pour les versions antérieures à la 1.6.16, adaptez le nom binaire en fonction du système d'exploitation. Pour plus d'informations, consultez la section Démarrage rapide de l'outil de ligne de commande ossutil.

  • Une fois l'hébergement de site web statique activé sur un compartiment, OSS renvoie une erreur 404 si les données demandées sont introuvables. Toutefois, si vous configurez des règles de retour à la source avec une origine valide, les utilisateurs peuvent récupérer les données conformément à ces règles.

    Pour plus d'informations sur l'hébergement de site web statique, consultez la section Présentation.

    Pour plus d'informations sur le retour à la source, consultez la section Présentation de la configuration de retour à la source.

Ajouter ou modifier les configurations liées au site web d'un compartiment

Si le compartiment ne possède aucune configuration liée au site web, la commande website en ajoute de nouvelles. Si des configurations existent déjà, la commande les écrase.

Pour ajouter ou modifier les configurations liées au site web, procédez comme suit :

  1. Créez un fichier local et ajoutez-y les configurations liées au site web.

  2. Appliquez les configurations au compartiment de destination.

Syntaxe de la commande et exemples

  • Syntaxe de la commande

    ossutil website --method put oss://bucketname local_xml_file

    Le tableau suivant décrit les paramètres de la commande précédente.

    Paramètre

    Description

    bucketname

    Nom du compartiment auquel vous souhaitez ajouter ou dont vous souhaitez modifier les configurations liées au site web.

    local_xml_file

    Nom du fichier local contenant les règles du site web. Exemple : localfile.xml.

  • Exemples

    1. Créez un fichier local nommé localfile.xml et configurez-y les règles du site web.

      L'exemple de code suivant illustre l'ajout de configurations complètes (hébergement de site web statique et retour à la source) à un compartiment. Ajoutez uniquement les configurations nécessaires selon vos besoins.

      • Configurations d'hébergement de site web statique

        Dans l'exemple suivant, le champ <IndexDocument> définit index.html comme page d'accueil par défaut. Le champ <ErrorDocument> définit error.html comme page d'erreur 404 par défaut.

      • Configurations de retour à la source

        Dans l'exemple suivant, le champ <RoutingRules> définit les règles de retour à la source. Pour plus d'informations sur les paramètres configurables, consultez la section Présentation.

      <?xml version="1.0" encoding="UTF-8"?>
       <WebsiteConfiguration>
           <IndexDocument>
               <Suffix>index.html</Suffix>
           </IndexDocument>
           <ErrorDocument>
               <Key>error.html</Key>
           </ErrorDocument>
           <RoutingRules>
               <RoutingRule>
                   <RuleNumber>1</RuleNumber>
                   <Condition>
                       <KeyPrefixEquals>abc/</KeyPrefixEquals>
                       <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
                   </Condition>
                   <Redirect>
                       <RedirectType>Mirror</RedirectType>
                       <PassQueryString>true</PassQueryString>
                       <MirrorURL>http://example.com/</MirrorURL>
                       <MirrorPassQueryString>true</MirrorPassQueryString>
                       <MirrorFollowRedirect>true</MirrorFollowRedirect>
                       <MirrorCheckMd5>false</MirrorCheckMd5>
                       <MirrorHeaders>
                         <PassAll>true</PassAll>
                         <Pass>myheader-key1</Pass>
                         <Pass>myheader-key2</Pass>
                         <Remove>myheader-key3</Remove>
                         <Remove>myheader-key4</Remove>
                         <Set>
                           <Key>myheader-key5</Key>
                           <Value>myheader-value5</Value>
                         </Set>
                       </MirrorHeaders>
                   </Redirect>
               </RoutingRule>
               <RoutingRule>
                   <RuleNumber>2</RuleNumber>
                   <Condition>
                     <KeyPrefixEquals>abc/</KeyPrefixEquals>
                     <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
                     <IncludeHeader>
                       <Key>host</Key>
                       <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals>
                     </IncludeHeader>
                   </Condition>
                   <Redirect>
                     <RedirectType>AliCDN</RedirectType>
                     <Protocol>http</Protocol>
                     <HostName>example.com</HostName>
                     <PassQueryString>false</PassQueryString>
                     <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith>
                     <HttpRedirectCode>301</HttpRedirectCode>
                   </Redirect>
               </RoutingRule>
           </RoutingRules>
       </WebsiteConfiguration>
    2. Exécutez la commande suivante pour ajouter les configurations liées au site web au compartiment nommé examplebucket :

      ossutil website --method put oss://examplebucket localfile.xml

      Un résultat similaire indique que les configurations ont été ajoutées à examplebucket :

      0.299514(s) elapsed

Consulter les configurations liées au site web

  • Syntaxe de la commande

    ossutil website --method get oss://bucketname [local_xml_file]

    Le tableau suivant décrit les paramètres de la commande précédente.

    Paramètre

    Description

    bucketname

    Nom du compartiment dont vous souhaitez consulter les configurations liées au site web.

    local_xml_file

    Nom du fichier local dans lequel stocker les configurations. Exemple : localfile.xml. Si ce paramètre est omis, les configurations s'affichent à l'écran.

  • Exemples

    • Exécutez la commande suivante pour consulter les configurations du compartiment examplebucket et les enregistrer dans le fichier local localfile.xml :

      ossutil website --method get oss://examplebucket localfile.xml

      Un résultat similaire indique que les configurations d'examplebucket ont été consultées et enregistrées dans localfile.xml :

      0.212407(s) elapsed
    • Exécutez la commande suivante pour consulter les configurations du compartiment examplebucket et les afficher à l'écran :

      ossutil website --method get oss://examplebucket

      Un résultat similaire indique que les configurations d'examplebucket ont été consultées :

      <?xml version="1.0" encoding="UTF-8"?>
      <WebsiteConfiguration>
        <IndexDocument>
          <Suffix>index.html</Suffix>
          <SupportSubDir>false</SupportSubDir>
          <Type>0</Type>
        </IndexDocument>
        <ErrorDocument>
          <Key>error.html</Key>
        </ErrorDocument>
        <RoutingRules>
          <RoutingRule>
            <RuleNumber>1</RuleNumber>
            <Condition>
              <KeyPrefixEquals>abc/</KeyPrefixEquals>
              <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
            </Condition>
            <Redirect>
              <RedirectType>Mirror</RedirectType>
              <PassQueryString>true</PassQueryString>
              <MirrorURL>http://example.com/</MirrorURL>
              <MirrorPassQueryString>true</MirrorPassQueryString>
              <MirrorPassOriginalSlashes>false</MirrorPassOriginalSlashes>
              <MirrorFollowRedirect>true</MirrorFollowRedirect>
              <MirrorIsExpressTunnel>false</MirrorIsExpressTunnel>
              <MirrorUserLastModified>false</MirrorUserLastModified>
              <MirrorCheckMd5>false</MirrorCheckMd5>
              <MirrorSwitchAllErrors>false</MirrorSwitchAllErrors>
              <MirrorHeaders>
                <PassAll>true</PassAll>
                <Pass>myheader-key1</Pass>
                <Pass>myheader-key2</Pass>
                <Remove>myheader-key3</Remove>
                <Remove>myheader-key4</Remove>
                <Set>
                  <Key>myheader-key5</Key>
                  <Value>myheader-value5</Value>
                </Set>
              </MirrorHeaders>
              <MirrorUsingRole>false</MirrorUsingRole>
              <MirrorAllowHeadObject>false</MirrorAllowHeadObject>
              <EnableReplacePrefix>false</EnableReplacePrefix>
            </Redirect>
          </RoutingRule>
          <RoutingRule>
            <RuleNumber>2</RuleNumber>
            <Condition>
              <IncludeHeader>
                <Key>host</Key>
                <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals>
              </IncludeHeader>
              <KeyPrefixEquals>abc/</KeyPrefixEquals>
              <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
            </Condition>
            <Redirect>
              <RedirectType>AliCDN</RedirectType>
              <Protocol>http</Protocol>
              <HostName>example.com</HostName>
              <PassQueryString>false</PassQueryString>
              <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith>
              <EnableReplacePrefix>false</EnableReplacePrefix>
              <HttpRedirectCode>301</HttpRedirectCode>
            </Redirect>
          </RoutingRule>
        </RoutingRules>
      </WebsiteConfiguration>
      
      0.157648(s) elapsed

Supprimer les configurations liées au site web

  • Syntaxe de la commande

    ossutil website --method delete oss://bucketname
  • Exemples

    Exécutez la commande suivante pour supprimer les configurations liées au site web du compartiment nommé examplebucket :

    ossutil website --method delete oss://examplebucket

    Un résultat similaire indique que les configurations du compartiment ont été supprimées :

    0.212409(s) elapsed

Options courantes

Pour accéder à un compartiment situé dans une autre région, utilisez -e pour spécifier le endpoint. Pour accéder à un compartiment appartenant à un autre compte Alibaba Cloud, utilisez -i pour l'AccessKey ID et -k pour l'AccessKey Secret.

Par exemple, exécutez la commande suivante pour ajouter les configurations liées au site web à un compartiment nommé testbucket, situé dans la région Chine (Hangzhou) et appartenant à un autre compte Alibaba Cloud :

ossutil website --method put oss://testbucket localfile.xml -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

Options courantes.