すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:website

最終更新日:Dec 20, 2023

静的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サイト関連の設定を追加または変更するには、次の手順を実行します。

  1. ローカルファイルを作成し、Webサイト関連の設定をファイルに追加します。

  2. Webサイト関連の設定を宛先バケットに追加します。

次のコードでは、Webサイト関連の設定を追加または変更するコマンド構文の例を示します。

  • コマンド構文

    . /ossutil64 website -- メソッドput oss:// bucketname local_xml_file

    次の表に、このコマンドを実行してWebサイト関連の設定を追加または変更するときに設定できるパラメーターを示します。

    パラメーター

    説明

    bucketname

    Webサイト関連の設定が追加または変更されるバケットの名前。

    local_xml_ファイル

    Webサイトのルールが設定されているローカルファイルの名前。 例: localfile.xml

    1. ローカルデバイスに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> 
    2. 次のコマンドを実行して、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サイトコマンドに使用できるその他の一般的なオプションの詳細については、「一般的なオプション」をご参照ください。