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

Object Storage Service:GetBucketWebsite

最終更新日:Feb 23, 2024

バケットに設定された静的Webサイトホスティングステータスとリダイレクションルールを照会します。

リクエストの構造

GET /? ウェブサイトHTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue 

リクエストヘッダー

PutBucketLifecycleリクエストには、共通のリクエストヘッダーのみが含まれます。 詳細については、「共通リクエストヘッダー」をご参照ください。

レスポンスヘッダー

PutBucket要求に対する応答には、共通の応答ヘッダーのみが含まれます。 詳細については、「共通レスポンスヘッダー」をご参照ください。

レスポンス要素

  • 次の表では、GetBucketWebsiteリクエストへの応答に含まれるWebsiteConfigurationの要素について説明します。
    要素データ型説明
    WebsiteConfigurationContainerN/Aルートノード。

    親ノード: なし

  • 次の表では、GetBucketWebsiteリクエストへのレスポンスに含まれるIndexDocumentの要素について説明します。
    要素データ型説明
    IndexDocumentContainerN/Aデフォルトのホームページを保存するために使用されるコンテナー。

    親ノード: WebsiteConfiguration

    接尾辞Stringindex.htmlデフォルトのホームページ。

    親ノード: IndexDocument

  • 次の表では、GetBucketWebsiteリクエストへの応答に含まれるErrorDocumentの要素について説明します。
    要素データ型説明
    ErrorDocumentContainerN/Aエラーページの格納に使用されるコンテナー。

    親ノード: WebsiteConfiguration

    キーStringerror.htmlエラーページ。

    親ノード: ErrorDocument

    HttpStatusString404エラーページとともに返されるHTTPステータスコード。

    親ノード: ErrorDocument

  • 次の表では、GetBucketWebsiteリクエストに対するレスポンスのRoutingRules、RoutingRule、およびRuleNumberの要素について説明します。
    要素データ型説明
    RoutingRulesContainerN/ARoutingRuleの格納に使用されるコンテナー。

    親ノード: WebsiteConfiguration

    RoutingRuleContainerN/Aリダイレクションルールまたはミラーリングベースのback-to-originルール。

    親ノード: RoutingRules

    RuleNumber正の整数1リダイレクションルールまたはミラーリングベースのback-to-originルールの一致と実行に使用されるシーケンス番号。

    リダイレクトルールは、この要素に基づいて照合されます。 一致が成功した場合、ルールのみが実行され、後続のルールは実行されません。

    親ノード: RoutingRule

  • 次の表では、GetBucketWebsiteリクエストへの応答のRoutingRules、RoutingRule、およびConditionの要素について説明します。
    要素データ型説明
    条件ContainerN/Aマッチング条件。 ルールは、指定されたすべての条件が満たされた場合にのみ実行されます。

    親ノード: RoutingRule

    KeyPrefixEqualsStringこんにちはオブジェクト名のプレフィックス。 指定されたプレフィックスを含む名前のオブジェクトのみがルールに一致します。

    親ノード: 条件

    HttpErrorCodeReturnedEqualsHTTP ステータスコード404返された HTTP ステータスコード ルールは、指定されたオブジェクトがアクセスされ、指定されたステータスコードが返された場合にのみ一致します。 リダイレクションルールがミラーリングベースのback-to-originルールの場合、この要素の値は404です。

    親ノード: 条件

    IncludeHeaderContainerN/Aリクエストで指定されたヘッダー。 ルールは、指定されたヘッダーがリクエストに含まれ、ヘッダー値が指定された値に等しい場合にのみ一致します。 最大5つのIncludeHeaderコンテナを指定できます。

    親ノード: IncludeHeader

    キーStringhostヘッダーのキー。The key of the header. 指定されたヘッダーがリクエストに含まれ、ヘッダー値がequalsで指定された値に等しい場合にのみ、ルールが一致します。

    親ノード: IncludeHeader

    等しいStringtest.oss-cn-beijing-internal.aliyuncs.comヘッダーの値。 Keyで指定されたヘッダーがリクエストに含まれ、ヘッダー値が指定された値に等しい場合にのみ、ルールが一致します。

    親ノード: IncludeHeader

  • 次の表では、GetBucketWebsiteリクエストへの応答のRoutingRules、RoutingRule、およびRedirectの要素について説明します。
    要素データ型説明
    リダイレクトContainerN/Aルールが一致した後に実行する操作。

    親ノード: RoutingRule

    RedirectTypeStringミラーリダイレクトの種類。
    • ミラーリング: ミラーリングベースのback-to-origin。
    • 外部: 外部リダイレクト。 Object Storage Service (OSS) は、3xx HTTPリダイレクトコードと、別のIPアドレスにアクセスをリダイレクトするためのLocationヘッダーを返します。
    • AliCDN: Alibaba Cloud Content Delivery Network (CDN) に基づくリダイレクト。 OSSはリクエストに、外部タイプとは異なる追加のヘッダーを追加します。 CDNがヘッダーを識別した後、CDNは指定されたIPアドレスへのアクセスをリダイレクトし、リダイレクトリクエストの代わりに取得したデータをユーザーに返します。

    親ノード: リダイレクト

    PassQueryStringBooleanfalseシステムがリダイレクションルールまたはミラーリングベースのback-to-originルールを実行するときに、元のリクエストのリクエストパラメーターがリダイレクトリクエストに含まれるかどうかを示します。

    PassQueryStringパラメーターがtrueに設定され、OSSに送信されるリクエストに "?a=b&c=d" が含まれている場合、リダイレクションモードが302されると、このパラメーターはLocationヘッダーに追加されます。 たとえば、リクエストに "Location: www.example.com?a=b&c=d" が含まれ、RedirectTypeの値がMirrorの場合、a=b&c=dパラメーターがback-to-originリクエストに含まれます。

    デフォルト値:false

    親ノード: リダイレクト

    MirrorURLStringhttp://example.comミラーリングベースのback-to-originのオリジンURL。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    オリジンURLは、http:// またはhttps:// で始まり、スラッシュ (/) で終わる必要があります。 OSSはURLの末尾にオブジェクト名を追加して、back-to-origin URLを生成します。

    たとえば、アクセスするオブジェクトの名前はmyobjectです。 MirrorURLがhttp://example.com/ に設定されている場合、back-to-origin URLがhttp://example.com/myobjectされます。 MirrorURLがhttp://example.com/dir1/ に設定されている場合、back-to-origin URLがhttp://example.com/dir1/myobjectされます。

    親ノード: リダイレクト

    MirrorPassQueryStringBooleanfalseこの要素は PassQueryString と同じ役割がありますが、優先順位は PassQueryString よりも高いです。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    デフォルト値:false

    親ノード: リダイレクト

    MirrorFollowRedirectBooleantrueオリジンが3xx HTTPステータスコードを返す場合、アクセスがLocationで指定されたアドレスにリダイレクトされるかどうかを示します。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。
    たとえば、ミラーリングベースのback-to-originリクエストが開始されると、オリジンが302を返し、Locationが指定されます。
    • true: OSSは、Locationで指定されたアドレスを引き続き要求します。

      アクセスは最大10回までリダイレクトできます。 10回後、エラーメッセージが返されます。

    • false: OSSは302を返し、Locationを通過します。

    デフォルト値:true

    親ノード: リダイレクト

    MirrorCheckMd5BooleanfalseOSSがオリジンから返されたレスポンスの本体のMD5ハッシュをチェックするかどうかを示します。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    このパラメーターの値がtrueで、オリジンから返された応答にContent-Md5ヘッダーが含まれている場合、取得したデータのMD5ハッシュがヘッダー値と一致するかどうかを確認します。 取得したデータのMD5ハッシュがヘッダー値と一致しない場合、OSSはデータを保存しません。

    デフォルト値:false

    親ノード: リダイレクト
    MirrorHeadersContainerN/Aバケットにミラーリングベースのback-to-originルールが指定されている場合に含まれるヘッダー。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    親ノード: リダイレクト

    PassAllBooleantrueOSSがすべてのリクエストヘッダーをオリジンに渡すかどうかを示します。 リクエストヘッダーでは、予約済みヘッダーと、oss-、x-oss-、およびx-drs- で始まるヘッダーは除外されます。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    デフォルト値:false

    親ノード: MirrorHeaders

    パスStringmyheader-key1オリジンに渡すヘッダー。The header to pass through to the origin. この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    ヘッダーの長さは最大1,024バイトで、英数字、ハイフン (-) のみを使用できます。

    最大10個のPassヘッダーを指定できます。

    親ノード: MirrorHeaders

    削除Stringmyheader-key3オリジンへの通過が許可されていないヘッダー。 最大10個のRemoveヘッダーを指定できます。 この要素は PassAll と共に使用されます。 ヘッダーの長さは最大1,024バイトです。 このパラメーターの文字セットは、Passの文字セットと同じです。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    親ノード: MirrorHeaders

    セットContainerN/Aオリジンに送信されるヘッダーを示します。 指定されたヘッダーは、ヘッダーがリクエストに含まれているかどうかに関係なく、オリジンから返されるデータに設定されます。 最大10個のセットコンテナを指定できます。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    親ノード: MirrorHeaders

    キーStringmyheader-key5ヘッダーのキー。The key of the header. キーの長さは最大1,024バイトです。 このパラメーターの文字セットは、Passの文字セットと同じです。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    親ノード: Set

    Stringmyheader-value5ヘッダーの値。 値の長さは最大1,024バイトで、"\r\n" は使用できません。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。

    親ノード: Set

    プロトコルStringhttpアクセスのリダイレクトに使用されるプロトコル。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。

    たとえば、testという名前のオブジェクトにアクセスし、Protocolがhttpsに設定され、Hostnameがexample.comに設定されている場合、Locationヘッダーの値はhttps://example.com/testになります。

    有効な値: httpおよびhttps

    親ノード: リダイレクト

    ホスト名Stringexample.comリダイレクトに使用されるドメイン名。ドメイン名の命名規則に準拠する必要があります。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。

    たとえば、testという名前のオブジェクトにアクセスし、Protocolがhttpsに設定され、Hostnameがexample.comに設定されている場合、Locationヘッダーがhttps://www.example.com/testされます。

    親ノード: リダイレクト

    HttpRedirectCodeHTTP ステータスコード301レスポンス内のHTTPリダイレクトコード。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。

    有効な値: 301、302、307

    親ノード: リダイレクト

    ReplaceKeyPrefixWithStringdef /リダイレクト要求でオブジェクト名のプレフィックスを置き換えるために使用される文字列。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。

    たとえば、abc/test.txtという名前のオブジェクトにアクセスし、ReplaceKeyPrefixWithがdef/ に設定されている場合、Locationヘッダーの値はKeyPrefixEqualsの値が空かどうかによって異なります。

    • KeyPrefixEqualsの値がabc/ に設定されている場合、Locationヘッダー値はhttp://example.com/def/test.txtです。
    • KeyPrefixEqualsが空の場合、Locationヘッダー値はhttp://example.com/def/abc/test.txtです。

    親ノード: リダイレクト

    ReplaceKeyWithStringプレフィックス /${key}.suffixリダイレクト要求でオブジェクト名を置き換えるために使用される文字列。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。

    この要素は、リクエスト内のオブジェクト名を示す ${key} 変数をサポートしています。 たとえば、testという名前のオブジェクトにアクセスし、ReplaceKeyWithがprefix/${key}.suffixに設定されている場合、Locationヘッダーの値はhttp://example.com/prefix/test.suffixです。

    親ノード: リダイレクト

リクエスト
のサンプルGet /?website HTTP/1.1
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 9月13日木曜日2012 07:51:28 GMT
承認: OSS qn6qrrqx ****** k53otfjbyc: BuG4rRK + zNh ****** 1NNHD39zXw= 
レスポンスの例
  • 静的WebサイトホスティングルールがHTTP/1.1 200設定され
    ている場合のサンプル応答
    x-oss-request-id: 534B371674E88A4D8906008B
    日付: 9月13日木曜日2012 07:51:28 GMT
    接続: キープアライブ
    コンテンツ-長さ: 218
    サーバー: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <WebsiteConfiguration xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
    <IndexDocument>
    <接尾辞> index.html</接尾辞>
        </IndexDocument>
        <ErrorDocument>
           <Key>error.html</Key>
           <HttpStatus>404</HttpStatus>
        </ErrorDocument>
    </WebsiteConfiguration> 
  • 静的WebサイトホスティングルールがHTTP/1.1 404で構成され
    ていない場合のサンプル応答
    x-oss-request-id: 534B371674E88A4D8906008B
    日付: 9月13日木曜日2012 07:56:46 GMT
    接続: キープアライブ
    コンテンツ-長さ: 308
    サーバー: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <エラーxmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Code>NoSuchWebsiteConfiguration</Code>
        <メッセージ> 指定されたバケットにWebサイト設定がありません。</Message>
        <BucketName>oss-example</BucketName>
        <RequestId>505191BEC4689A033D00236F</RequestId>
        <HostI d>oss-example.oss-cn-hangzhou.aliyuncs.com</HostId>
    </エラー> 

完全なサンプル応答

GET /? ウェブサイトHTTP/1.1
日付: 7月27日金曜日2018 09:07:41 GMT
ホスト: test.oss-cn-hangzhou-internal.aliyuncs.com
承認: OSS a1nBN ****** QMf8u:0Jzamofmy ****** sU9HUWomxsus=
ユーザーエージェント: aliyun-sdk-python-test/0.4.0


<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
  <IndexDocument>
    <Suffix>index.html</Suffix>
  </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>
        <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>
        <HttpRedirectCode>301</HttpRedirectCode>
      </Redirect>
    </RoutingRule>
  </RoutingRules>
</WebsiteConfiguration>

HTTP/1.1 200 OK
サーバー: AliyunOSS
日付: 7月27日金曜日2018 09:07:41 GMT
Content-Type: application/xml
コンテンツ-長さ: 2102
接続: キープアライブ
x-oss-request-id: 5B5AE0DD2F7938C45FCED4BA
x-oss-server-time: 47 

SDK

次のプログラミング言語のOSS SDKを使用して、GetBucketWebsite操作を呼び出すことができます。

エラーコード

エラーコードHTTPステータスコード説明
NoSuchBucket404そのようなバケットが見つからない場合に返されるエラーメッセージ。
AccessDenied403該当の操作を実行する権限がない場合に返されるエラーメッセージです。 バケットの静的Webサイトホスティングステータス設定を照会できるのは、バケット所有者だけです。
NoSuchWebsiteConfiguration404静的Webサイトホスティングが指定されたバケットに対して構成されていない場合に返されるエラーメッセージ。