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'autorisationoss:GetBucketWebsiteest requise. Pour les supprimer, vous devez disposer de l'autorisationoss: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
ossutilcomme 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 :
Créez un fichier local et ajoutez-y les configurations liées au site web.
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_fileLe 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
-
Créez un fichier local nommé
localfile.xmlet 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.htmlcomme page d'accueil par défaut. Le champ <ErrorDocument> définiterror.htmlcomme 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> -
-
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.xmlUn 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.xmlUn 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://examplebucketUn 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://examplebucketUn 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