静的Webサイトホスティング機能を使用して、静的WebサイトをObject Storage Service (OSS) バケットでホストし、バケットのエンドポイントを使用してWebサイトにアクセスできます。 バケットの静的Webサイトホスティングを設定した後、ユーザーがOSSから要求したデータが存在しない場合は、ユーザーがデータを取得できるようにback-to-originルールを設定できます。 このトピックでは、websiteコマンドを実行して、静的Webサイトホスティングとバケットのback-to-origin設定を追加、変更、クエリ、または削除する方法について説明します。
使用上の注意
このトピックのサンプルコマンドラインは、64ビットLinuxシステムに基づいています。 他のシステムの場合は、を交換します。対応するバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutilの使用を開始する」をご参照ください。
静的Webサイトホスティングがバケットに設定された後、ユーザーがOSSから要求したデータが存在しない場合、404エラーが返されます。 ただし、バケットの有効なオリジンを含むback-to-originルールを設定すると、ユーザーはルールに基づいてデータを取得できます。
静的Webサイトホスティングの詳細については、「概要」をご参照ください。
back-to-originの詳細については、「概要」をご参照ください。
ウェブサイト関連の設定を追加または変更する
バケットにWebサイト関連の設定がない場合、Webサイトコマンドを実行すると、バケットに新しい設定が追加されます。 バケットに既にWebサイト関連の設定がある場合、Webサイトコマンドを実行すると、新しいWebサイト設定が既存の設定を上書きします。
Webサイト関連の設定を追加または変更するには、次の手順を実行します。
ローカルファイルを作成し、Webサイト関連の設定をファイルに追加します。
Webサイト関連の設定を宛先バケットに追加します。
次のコードでは、Webサイト関連の設定を追加または変更するコマンド構文の例を示します。
コマンド構文
. /ossutil64 website -- メソッドput oss:// bucketname local_xml_file
次の表に、このコマンドを実行してWebサイト関連の設定を追加または変更するときに設定できるパラメーターを示します。
パラメーター
説明
bucketname
Webサイト関連の設定が追加または変更されるバケットの名前。
local_xml_ファイル
Webサイトのルールが設定されているローカルファイルの名前。 例:
localfile.xml
例
ローカルデバイスに
localfile.xml
という名前のファイルを作成し、そのファイルにさまざまなWebサイトルールを設定します。次のコードでは、静的Webサイトホスティング設定とback-to-origin設定を含む、完全なWebサイト関連の設定をバケットに追加する方法の例を示します。
静的Webサイトホスティング設定
次のサンプル設定では、<IndexDocument> フィールドは、静的Webサイトのデフォルトのホームページを
index.html
として指定します。 <ErrorDocument> フィールドは、静的Webサイトのデフォルトの404エラーページをerror.html
として指定します。Back-to-originの設定
次のサンプル設定では、<RoutingRules> フィールドにback-to-originルールを指定します。 back-to-originルール用に設定できるパラメーターの詳細については、「概要」をご参照ください。
<?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> <HostNam e>example.com</HostName> <PassQueryString>false</PassQueryString> <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration>
次のコマンドを実行して、examplebucketという名前のバケットにWebサイト関連の設定を追加できます。
. /ossutil64 website -- メソッドput oss:// examplebucket localfile.xml
同様の出力が表示される場合、ウェブサイト関連の設定がexamplebucketに追加されます。
0.299514経過
ウェブサイト関連の設定の照会
コマンド構文
. /ossutil64 website -- メソッドget oss:// bucketname [local_xml_file]
次の表に、このコマンドを実行してWebサイト関連の設定を照会するときに設定できるパラメーターを示します。
パラメーター
説明
bucketname
Webサイト関連の設定を照会するバケットの名前。
local_xml_ファイル
Webサイト関連の設定を格納するために使用されるローカルファイルの名前。 例:
localfile.xml
このパラメーターを指定しない場合、取得したWebサイト関連の設定はローカルファイルに保存されずに表示されます。例
次のコマンドを実行して、examplebucketバケットのWebサイト関連の設定を照会し、その設定を
localfile.xml
ローカルファイルに書き込みます。. /ossutil64 website -- メソッドget oss:// examplebucket localfile.xml
同様の出力が表示される場合、examplebucketのWebサイト関連の設定が取得され、localfile.xmlに書き込まれます。
0.212407経過
次のコマンドを実行して、examplebucketバケットのWebサイト関連の設定を照会し、出力がローカルファイルに保存されずに表示されるように指定できます。
. /ossutil64 Webサイト -- メソッドget oss:// examplebucket
同様の出力が表示される場合、Webサイト関連の設定が取得されます。
<?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration> <IndexDocument> <Suffix>index.html</Suffix> <SupportSubDir>false</SupportSubDir> <タイプ> 0</タイプ> </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> <HostNam e>example.com</HostName> <PassQueryString>false</PassQueryString> <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith> <EnableReplacePrefix>false</EnableReplacePrefix> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration> 0.157648経過
ウェブサイト関連の設定を削除する
コマンド構文
. /ossutil64 website -- メソッドdelete oss:// bucketname
例
次のコマンドを実行して、examplebucketという名前のバケットのWebサイト関連の設定を削除します。
. /ossutil64 website -- メソッドdelete oss:// examplebucket
同様の出力が表示された場合、バケットのWebサイト関連の設定は削除されます。
0.212409経過
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKeyシークレットを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケットにWebサイト関連の設定を追加できます。
. /ossutil64 Webサイト -- メソッドput oss:// testbucket localfile.xml -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
Webサイトコマンドに使用できるその他の一般的なオプションの詳細については、「一般的なオプション」をご参照ください。