Active l'hébergement de site web statique et configure les règles de redirection pour un bucket.
Notes d'utilisation
Par défaut, un compte Alibaba Cloud dispose des autorisations nécessaires pour activer l'hébergement de site web statique et configurer les règles de redirection pour un bucket. Pour effectuer ces opérations avec un utilisateur RAM ou le Security Token Service (STS), vous devez disposer de l'autorisation
oss:PutBucketWebsite. Pour plus d'informations, consultez la rubrique Attacher une stratégie personnalisée à un utilisateur RAM.Avant d'activer l'hébergement de site web statique, assurez-vous de bien comprendre cette fonctionnalité. Pour plus d'informations, consultez la rubrique Présentation de l'hébergement de site web statique.
Syntaxe de la commande
ossutil api put-bucket-website --bucket value --website-configuration value [flags]
|
Paramètre |
Type |
Description |
|
--bucket |
string |
Nom du bucket. |
|
--website-configuration |
string |
Nœud racine de la configuration du site web. |
La commande put-bucket-website correspond à l'opération PutBucketWebsite. Pour plus d'informations sur les paramètres de l'opération PutBucketWebsite, consultez la rubrique PutBucketWebsite.
--website-configuration
L'option --website-configuration prend en charge les formats XML et JSON. Si la valeur de l'option contient le préfixe file://, ossutil lit la configuration depuis un fichier.
-
Format XML :
<WebsiteConfiguration> <IndexDocument> <Suffix>string</Suffix> <SupportSubDir>boolean</SupportSubDir> <Type>string</Type> </IndexDocument> <ErrorDocument> <Key>string</Key> <HttpStatus>string</HttpStatus> </ErrorDocument> <RoutingRules> <RoutingRule> <RuleNumber>integer</RuleNumber> <Condition> <KeyPrefixEquals>string</KeyPrefixEquals> <HttpErrorCodeReturnedEquals>integer</HttpErrorCodeReturnedEquals> </Condition> <Redirect> <HttpRedirectCode>integer</HttpRedirectCode> <RedirectType>string</RedirectType> <MirrorPassQueryString>boolean</MirrorPassQueryString> <MirrorFollowRedirect>boolean</MirrorFollowRedirect> <MirrorHeaders> <PassAll>boolean</PassAll> <Pass>string</Pass> ... <Remove>string</Remove> ... <Set> <Value>string</Value> <Key>string</Key> </Set> ... </MirrorHeaders> <MirrorURL>string</MirrorURL> <EnableReplacePrefix>boolean</EnableReplacePrefix> <ReplaceKeyWith>string</ReplaceKeyWith> <PassQueryString>boolean</PassQueryString> <MirrorCheckMd5>boolean</MirrorCheckMd5> <Protocol>string</Protocol> <HostName>string</HostName> <TransparentMirrorResponseCodes>string</TransparentMirrorResponseCodes> <ReplaceKeyPrefixWith>string</ReplaceKeyPrefixWith> </Redirect> </RoutingRule> ... </RoutingRules> </WebsiteConfiguration> -
Format JSON :
{ "IndexDocument": { "Type": "string", "Suffix": "string", "SupportSubDir": boolean }, "ErrorDocument": { "Key": "string", "HttpStatus": "string" }, "RoutingRules": { "RoutingRule": [ { "RuleNumber": integer, "Condition": { "HttpErrorCodeReturnedEquals": integer, "KeyPrefixEquals": "string" }, "Redirect": { "MirrorURL": "string", "EnableReplacePrefix": boolean, "ReplaceKeyWith": "string", "PassQueryString": boolean, "MirrorCheckMd5": boolean, "Protocol": "string", "HostName": "string", "TransparentMirrorResponseCodes": "string", "ReplaceKeyPrefixWith": "string", "HttpRedirectCode": integer, "RedirectType": "string", "MirrorPassQueryString": boolean, "MirrorFollowRedirect": boolean, "MirrorHeaders": { "PassAll": boolean, "Pass": ["string", ...], "Remove": ["string", ...], "Set": [ { "Key": "string", "Value": "string" }, ... ] } } }, ... ] } }
Pour plus d'informations sur les options de ligne de commande globales prises en charge, consultez la rubrique Options de ligne de commande globales.
Exemples
Les exemples suivants montrent comment activer l'hébergement de site web statique et configurer les règles de redirection pour un bucket nommé examplebucket.
-
Le fichier de configuration XML
website-configuration.xmlcontient les éléments suivants :<?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration> <IndexDocument> <Suffix>index.html</Suffix> <SupportSubDir>true</SupportSubDir> <Type>0</Type> </IndexDocument> <ErrorDocument> <Key>error.html</Key> <HttpStatus>404</HttpStatus> </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> <RoutingRule> <Condition> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> </Condition> <RuleNumber>3</RuleNumber> <Redirect> <ReplaceKeyWith>prefix/${key}</ReplaceKeyWith> <HttpRedirectCode>302</HttpRedirectCode> <EnableReplacePrefix>false</EnableReplacePrefix> <PassQueryString>false</PassQueryString> <Protocol>http</Protocol> <HostName>example.com</HostName> <RedirectType>External</RedirectType> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration>
Exemple de commande :
ossutil api put-bucket-website --bucket examplebucket --website-configuration file://website-configuration.xml
-
Utilisez un fichier de configuration JSON. Le fichier website-configuration.json contient le contenu suivant :
{ "IndexDocument": { "Suffix": "index.html", "SupportSubDir": "true", "Type": "0" }, "ErrorDocument": { "Key": "error.html", "HttpStatus": "404" }, "RoutingRules": { "RoutingRule": [ { "RuleNumber": "1", "Condition": { "KeyPrefixEquals": "abc/", "HttpErrorCodeReturnedEquals": "404" }, "Redirect": { "RedirectType": "Mirror", "PassQueryString": "true", "MirrorURL": "http://example.com/", "MirrorPassQueryString": "true", "MirrorFollowRedirect": "true", "MirrorCheckMd5": "false", "MirrorHeaders": { "PassAll": "true", "Pass": [ "myheader-key1", "myheader-key2" ], "Remove": [ "myheader-key3", "myheader-key4" ], "Set": { "Key": "myheader-key5", "Value": "myheader-value5" } } } }, { "RuleNumber": "2", "Condition": { "KeyPrefixEquals": "abc/", "HttpErrorCodeReturnedEquals": "404", "IncludeHeader": { "Key": "host", "Equals": "test.oss-cn-beijing-internal.aliyuncs.com" } }, "Redirect": { "RedirectType": "AliCDN", "Protocol": "http", "HostName": "example.com", "PassQueryString": "false", "ReplaceKeyWith": "prefix/${key}.suffix", "HttpRedirectCode": "301" } }, { "Condition": { "HttpErrorCodeReturnedEquals": "404" }, "RuleNumber": "3", "Redirect": { "ReplaceKeyWith": "prefix/${key}", "HttpRedirectCode": "302", "EnableReplacePrefix": "false", "PassQueryString": "false", "Protocol": "http", "HostName": "example.com", "RedirectType": "External" } } ] } }Exemple de commande :
ossutil api put-bucket-website --bucket examplebucket --website-configuration file://website-configuration.json -
Configurez les paramètres de la commande suivante au format JSON :
ossutil api put-bucket-website --bucket examplebucket --website-configuration "{\"IndexDocument\":{\"Suffix\":\"index.html\",\"SupportSubDir\":\"true\",\"Type\":\"0\"},\"ErrorDocument\":{\"Key\":\"error.html\",\"HttpStatus\":\"404\"},\"RoutingRules\":{\"RoutingRule\":[{\"RuleNumber\":\"1\",\"Condition\":{\"KeyPrefixEquals\":\"abc/\",\"HttpErrorCodeReturnedEquals\":\"404\"},\"Redirect\":{\"RedirectType\":\"Mirror\",\"PassQueryString\":\"true\",\"MirrorURL\":\"http://example.com/\",\"MirrorPassQueryString\":\"true\",\"MirrorFollowRedirect\":\"true\",\"MirrorCheckMd5\":\"false\",\"MirrorHeaders\":{\"PassAll\":\"true\",\"Pass\":[\"myheader-key1\",\"myheader-key2\"],\"Remove\":[\"myheader-key3\",\"myheader-key4\"],\"Set\":{\"Key\":\"myheader-key5\",\"Value\":\"myheader-value5\"}}}},{\"RuleNumber\":\"2\",\"Condition\":{\"KeyPrefixEquals\":\"abc/\",\"HttpErrorCodeReturnedEquals\":\"404\",\"IncludeHeader\":{\"Key\":\"host\",\"Equals\":\"test.oss-cn-beijing-internal.aliyuncs.com\"}},\"Redirect\":{\"RedirectType\":\"AliCDN\",\"Protocol\":\"http\",\"HostName\":\"example.com\",\"PassQueryString\":\"false\",\"ReplaceKeyWith\":\"prefix/${key}.suffix\",\"HttpRedirectCode\":\"301\"}},{\"Condition\":{\"HttpErrorCodeReturnedEquals\":\"404\"},\"RuleNumber\":\"3\",\"Redirect\":{\"ReplaceKeyWith\":\"prefix/${key}\",\"HttpRedirectCode\":\"302\",\"EnableReplacePrefix\":\"false\",\"PassQueryString\":\"false\",\"Protocol\":\"http\",\"HostName\":\"example.com\",\"RedirectType\":\"External\"}}]}}"