バケットに設定された静的Webサイトホスティングステータスとリダイレクションルールを照会します。
リクエストの構造
GET /? ウェブサイトHTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue
リクエストヘッダー
PutBucketLifecycleリクエストには、共通のリクエストヘッダーのみが含まれます。 詳細については、「共通リクエストヘッダー」をご参照ください。
レスポンスヘッダー
PutBucket要求に対する応答には、共通の応答ヘッダーのみが含まれます。 詳細については、「共通レスポンスヘッダー」をご参照ください。
レスポンス要素
- 次の表では、GetBucketWebsiteリクエストへの応答に含まれるWebsiteConfigurationの要素について説明します。
要素 データ型 例 説明 WebsiteConfiguration Container N/A ルートノード。 親ノード: なし
- 次の表では、GetBucketWebsiteリクエストへのレスポンスに含まれるIndexDocumentの要素について説明します。
要素 データ型 例 説明 IndexDocument Container N/A デフォルトのホームページを保存するために使用されるコンテナー。 親ノード: WebsiteConfiguration
接尾辞 String index.html デフォルトのホームページ。 親ノード: IndexDocument
- 次の表では、GetBucketWebsiteリクエストへの応答に含まれるErrorDocumentの要素について説明します。
要素 データ型 例 説明 ErrorDocument Container N/A エラーページの格納に使用されるコンテナー。 親ノード: WebsiteConfiguration
キー String error.html エラーページ。 親ノード: ErrorDocument
HttpStatus String 404 エラーページとともに返されるHTTPステータスコード。 親ノード: ErrorDocument
- 次の表では、GetBucketWebsiteリクエストに対するレスポンスのRoutingRules、RoutingRule、およびRuleNumberの要素について説明します。
要素 データ型 例 説明 RoutingRules Container N/A RoutingRuleの格納に使用されるコンテナー。 親ノード: WebsiteConfiguration
RoutingRule Container N/A リダイレクションルールまたはミラーリングベースのback-to-originルール。 親ノード: RoutingRules
RuleNumber 正の整数 1 リダイレクションルールまたはミラーリングベースのback-to-originルールの一致と実行に使用されるシーケンス番号。 リダイレクトルールは、この要素に基づいて照合されます。 一致が成功した場合、ルールのみが実行され、後続のルールは実行されません。
親ノード: RoutingRule
- 次の表では、GetBucketWebsiteリクエストへの応答のRoutingRules、RoutingRule、およびConditionの要素について説明します。
要素 データ型 例 説明 条件 Container N/A マッチング条件。 ルールは、指定されたすべての条件が満たされた場合にのみ実行されます。 親ノード: RoutingRule
KeyPrefixEquals String こんにちは オブジェクト名のプレフィックス。 指定されたプレフィックスを含む名前のオブジェクトのみがルールに一致します。 親ノード: 条件
HttpErrorCodeReturnedEquals HTTP ステータスコード 404 返された HTTP ステータスコード ルールは、指定されたオブジェクトがアクセスされ、指定されたステータスコードが返された場合にのみ一致します。 リダイレクションルールがミラーリングベースのback-to-originルールの場合、この要素の値は404です。 親ノード: 条件
IncludeHeader Container N/A リクエストで指定されたヘッダー。 ルールは、指定されたヘッダーがリクエストに含まれ、ヘッダー値が指定された値に等しい場合にのみ一致します。 最大5つのIncludeHeaderコンテナを指定できます。 親ノード: IncludeHeader
キー String host ヘッダーのキー。The key of the header. 指定されたヘッダーがリクエストに含まれ、ヘッダー値がequalsで指定された値に等しい場合にのみ、ルールが一致します。 親ノード: IncludeHeader
等しい String test.oss-cn-beijing-internal.aliyuncs.com ヘッダーの値。 Keyで指定されたヘッダーがリクエストに含まれ、ヘッダー値が指定された値に等しい場合にのみ、ルールが一致します。 親ノード: IncludeHeader
- 次の表では、GetBucketWebsiteリクエストへの応答のRoutingRules、RoutingRule、およびRedirectの要素について説明します。
要素 データ型 例 説明 リダイレクト Container N/A ルールが一致した後に実行する操作。 親ノード: RoutingRule
RedirectType String ミラー リダイレクトの種類。 - ミラーリング: ミラーリングベースのback-to-origin。
- 外部: 外部リダイレクト。 Object Storage Service (OSS) は、3xx HTTPリダイレクトコードと、別のIPアドレスにアクセスをリダイレクトするためのLocationヘッダーを返します。
- AliCDN: Alibaba Cloud Content Delivery Network (CDN) に基づくリダイレクト。 OSSはリクエストに、外部タイプとは異なる追加のヘッダーを追加します。 CDNがヘッダーを識別した後、CDNは指定されたIPアドレスへのアクセスをリダイレクトし、リダイレクトリクエストの代わりに取得したデータをユーザーに返します。
親ノード: リダイレクト
PassQueryString Boolean false システムがリダイレクションルールまたはミラーリングベースの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
親ノード: リダイレクト
MirrorURL String http://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
されます。親ノード: リダイレクト
MirrorPassQueryString Boolean false この要素は PassQueryString と同じ役割がありますが、優先順位は PassQueryString よりも高いです。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 デフォルト値:false
親ノード: リダイレクト
MirrorFollowRedirect Boolean true オリジンが3xx HTTPステータスコードを返す場合、アクセスがLocationで指定されたアドレスにリダイレクトされるかどうかを示します。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 たとえば、ミラーリングベースのback-to-originリクエストが開始されると、オリジンが302を返し、Locationが指定されます。- true: OSSは、Locationで指定されたアドレスを引き続き要求します。
アクセスは最大10回までリダイレクトできます。 10回後、エラーメッセージが返されます。
- false: OSSは302を返し、Locationを通過します。
デフォルト値:true
親ノード: リダイレクト
MirrorCheckMd5 Boolean false OSSがオリジンから返されたレスポンスの本体のMD5ハッシュをチェックするかどうかを示します。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 このパラメーターの値がtrueで、オリジンから返された応答にContent-Md5ヘッダーが含まれている場合、取得したデータのMD5ハッシュがヘッダー値と一致するかどうかを確認します。 取得したデータのMD5ハッシュがヘッダー値と一致しない場合、OSSはデータを保存しません。
デフォルト値:false
親ノード: リダイレクトMirrorHeaders Container N/A バケットにミラーリングベースのback-to-originルールが指定されている場合に含まれるヘッダー。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 親ノード: リダイレクト
PassAll Boolean true OSSがすべてのリクエストヘッダーをオリジンに渡すかどうかを示します。 リクエストヘッダーでは、予約済みヘッダーと、 oss-、x-oss-、およびx-drs-
で始まるヘッダーは除外されます。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。デフォルト値:false
親ノード: MirrorHeaders
パス String myheader-key1 オリジンに渡すヘッダー。The header to pass through to the origin. この要素は、RedirectType の値が Mirror の場合のみ有効になります。 ヘッダーの長さは最大1,024バイトで、英数字、ハイフン (-) のみを使用できます。
最大10個のPassヘッダーを指定できます。
親ノード: MirrorHeaders
削除 String myheader-key3 オリジンへの通過が許可されていないヘッダー。 最大10個のRemoveヘッダーを指定できます。 この要素は PassAll と共に使用されます。 ヘッダーの長さは最大1,024バイトです。 このパラメーターの文字セットは、Passの文字セットと同じです。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 親ノード: MirrorHeaders
セット Container N/A オリジンに送信されるヘッダーを示します。 指定されたヘッダーは、ヘッダーがリクエストに含まれているかどうかに関係なく、オリジンから返されるデータに設定されます。 最大10個のセットコンテナを指定できます。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 親ノード: MirrorHeaders
キー String myheader-key5 ヘッダーのキー。The key of the header. キーの長さは最大1,024バイトです。 このパラメーターの文字セットは、Passの文字セットと同じです。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 親ノード: Set
値 String myheader-value5 ヘッダーの値。 値の長さは最大1,024バイトで、"\r\n" は使用できません。 この要素は、RedirectType の値が Mirror の場合のみ有効になります。 親ノード: Set
プロトコル String http アクセスのリダイレクトに使用されるプロトコル。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。 たとえば、testという名前のオブジェクトにアクセスし、Protocolがhttpsに設定され、Hostnameが
example.com
に設定されている場合、Locationヘッダーの値はhttps://example.com/test
になります。有効な値: httpおよびhttps。
親ノード: リダイレクト
ホスト名 String example.com リダイレクトに使用されるドメイン名。ドメイン名の命名規則に準拠する必要があります。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。 たとえば、testという名前のオブジェクトにアクセスし、Protocolがhttpsに設定され、Hostnameが
example.com
に設定されている場合、Locationヘッダーがhttps://www.example.com/test
されます。親ノード: リダイレクト
HttpRedirectCode HTTP ステータスコード 301 レスポンス内のHTTPリダイレクトコード。 この要素は、RedirectType の値が External または AliCDN の場合のみ有効になります。 有効な値: 301、302、307
親ノード: リダイレクト
ReplaceKeyPrefixWith String def / リダイレクト要求でオブジェクト名のプレフィックスを置き換えるために使用される文字列。 この要素は、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
です。
親ノード: リダイレクト
ReplaceKeyWith String プレフィックス /${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ステータスコード | 説明 |
NoSuchBucket | 404 | そのようなバケットが見つからない場合に返されるエラーメッセージ。 |
AccessDenied | 403 | 該当の操作を実行する権限がない場合に返されるエラーメッセージです。 バケットの静的Webサイトホスティングステータス設定を照会できるのは、バケット所有者だけです。 |
NoSuchWebsiteConfiguration | 404 | 静的Webサイトホスティングが指定されたバケットに対して構成されていない場合に返されるエラーメッセージ。 |