ALIYUN::OSS::Website は、Object Storage Service (OSS) バケットの静的 Web サイトホスティングとリダイレクトルールを構成するために使用されます。
構文
{
"Type": "ALIYUN::OSS::Website",
"Properties": {
"BucketName": String,
"WebsiteConfiguration": Map
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
BucketName | String | はい | いいえ | バケット名。 | なし。 |
WebsiteConfiguration | Map | いいえ | いいえ | Web サイトの構成。 | 詳細については、「WebsiteConfiguration プロパティ」をご参照ください。 |
WebsiteConfiguration 構文
"WebsiteConfiguration": {
"IndexDocument": Map,
"RoutingRules": List,
"ErrorDocument": Map
}WebsiteConfiguration プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
ErrorDocument | マップ | いいえ | いいえ | デフォルトのエラーページのプロパティ。 | 詳細については、「ErrorDocument プロパティ」をご参照ください。 |
IndexDocument | マップ | いいえ | いいえ | デフォルト ホームページのプロパティ。 | 詳細については、「IndexDocument プロパティ」をご参照ください。 |
ルーティング規則 | 一覧 | いいえ | いいえ | リダイレクトルール。最大 20 個のリダイレクトルールを指定できます。 | 詳細については、「RoutingRules プロパティ」をご参照ください。 |
IndexDocument 構文
"IndexDocument": {
"Type": String,
"Suffix": String,
"SupportSubDir": String
}IndexDocument プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Suffix | String | はい | いいえ | デフォルトホームページ。 | デフォルトホームページが指定されている場合、名前がスラッシュ(/)で終わるオブジェクトにアクセスすると、OSS はデフォルトホームページを返します。 |
SupportSubDir | String | いいえ | いいえ | サブディレクトリにアクセスしたときに、サブディレクトリ内のデフォルトホームページへのアクセスをリダイレクトするかどうかを指定します。 | 有効な値:
|
Type | String | いいえ | いいえ | デフォルトホームページが指定されていて、アクセスされたオブジェクトの名前がスラッシュ(/)で終わっておらず、オブジェクトが存在しない場合に、システムが実行する操作のタイプ。 | このプロパティは、SupportSubDir が true に設定されている場合にのみ有効になり、RoutingRule の後、ErrorFile の前に適用されます。たとえば、デフォルトホームページが index.html で、アクセスする abc オブジェクトのパスが bucket.oss-cn-hangzhou.aliyuncs.com/abc で、abc オブジェクトが存在しない場合。有効な値:
|
RoutingRules 構文
"RoutingRules": [
{
"Condition": マップ,
"RuleNumber": 整数,
"Redirect": マップ
}
]RoutingRules プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Condition | Map | はい | いいえ | 一致条件。 | 指定されたすべての条件が満たされた場合にのみ、ルールが実行されます。 ルールは、Condition コンテナー内のノードによって指定されたすべての条件を満たす場合にのみ一致します。 詳細については、「Condition プロパティ」をご参照ください。 |
RuleNumber | Integer | はい | いいえ | リダイレクトルールのシーケンス番号。 OSS は、指定されたシーケンス番号に基づいてリダイレクトルールを照合し、実行します。 | ルールが一致すると、OSS はルールを実行し、後続のルールは実行しません。 |
Redirect | Map | はい | いいえ | ルールが一致した場合にシステムが実行する操作。 | 詳細については、「Redirect プロパティ」をご参照ください。 |
条件構文
"Condition": {
"IncludeHeaders": リスト,
"KeyPrefixEquals": 文字列,
"HttpErrorCodeReturnedEquals": 文字列,
"KeySuffixEquals": 文字列
}条件プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
HttpErrorCodeReturnedEquals | String | いいえ | いいえ | HTTP ステータスコード。指定されたオブジェクトにアクセスし、指定された HTTP ステータスコードが返された場合にのみ、ルールが一致と見なされます。RedirectType が Mirror に設定されている場合は、HttpErrorCodeReturnedEquals を 404 に設定する必要があります。 | なし。 |
IncludeHeaders | List | いいえ | いいえ | リクエストに含めるヘッダー。リクエストに指定されたヘッダーとヘッダー値が含まれている場合にのみ、ルールが一致と見なされます。 | このプロパティには最大 10 個のヘッダーを指定できます。 |
KeyPrefixEquals | String | いいえ | いいえ | 一致させるオブジェクト名のプレフィックス。 | なし。 |
KeySuffixEquals | String | いいえ | いいえ | 一致させるオブジェクト名のサフィックス。 | なし。 |
IncludeHeaders 構文
"IncludeHeaders": [
{
"Equals": 文字列,
"Key": 文字列
}
]IncludeHeaders プロパティ
プロパティ | 型 | 必須 | 編集可能 | 説明 | 制約 |
Key | String | はい | いいえ | ヘッダー名。 | なし。 |
Equals | String | いいえ | いいえ | ヘッダー値。 | なし。 |
リダイレクト構文
"Redirect": {
"MirrorURL": 文字列,
"ReplaceKeyWith": 文字列,
"MirrorHeaders": マップ,
"HttpRedirectCode": 文字列,
"EnableReplacePrefix": ブール値,
"PassQueryString": ブール値,
"MirrorFollowRedirect": ブール値,
"ReplaceKeyPrefixWith": 文字列,
"RedirectType": 文字列,
"MirrorPassQueryString": ブール値,
"MirrorCheckMd5": ブール値,
"Protocol": 文字列,
"HostName": 文字列
}リダイレクトプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
RedirectType | String | はい | いいえ | リダイレクトタイプ。 | 有効な値:
|
EnableReplacePrefix | Boolean | いいえ | いいえ | オブジェクト名のプレフィックスを ReplaceKeyPrefixWith の値で置き換えるかどうかを指定します。このプロパティを true に設定すると、オブジェクト名のプレフィックスは ReplaceKeyPrefixWith の値で置き換えられます。このプロパティを空のままにするか、null に設定すると、オブジェクト名のプレフィックスは切り捨てられます。 | 説明 ReplaceKeyWith が null に設定されている場合にのみ、このプロパティを true に設定できます。 デフォルト値: false。 |
HttpRedirectCode | String | いいえ | いいえ | 応答の HTTP リダイレクトコード。 | このプロパティは、RedirectType が External または AliCDN に設定されている場合にのみ有効になります。デフォルト値: 302. 有効な値:
|
HostName | String | いいえ | いいえ | リダイレクト先のドメイン名。 | ドメイン名は、ドメイン名の規則に準拠している必要があります。 たとえば、アクセスするオブジェクトの名前が test、Protocol が |
MirrorURL | String | いいえ | いいえ | ミラーリングベースの原点復帰のオリジン URL。このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 | オリジン URL は http:// または https:// で始まり、スラッシュ (/) で終わる必要があります。OSS は URL の末尾にオブジェクト名を追加して、原点復帰 URL を生成します。 たとえば、アクセスするオブジェクトの名前が myobject であるとします。MirrorURL が |
MirrorHeaders | Map | いいえ | いいえ | ミラーリングベースの原点復帰を使用する場合に、原点に返されるヘッダー。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。詳細については、このトピックの「MirrorHeaders プロパティ」セクションをご参照ください。 |
MirrorFollowRedirect | Boolean | いいえ | いいえ | 原点が 3xx 状態コードを返した場合に、Location で指定されたアドレスにアクセスをリダイレクトしてデータをクエリするかどうかを指定します。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。たとえば、ミラーリングベースの原点復帰リクエストが原点に送信され、Location が指定されている場合、原点は 302 状態コードを返します。有効な値:
|
MirrorPassQueryString | Boolean | いいえ | いいえ | このプロパティは PassQueryString と同じ効果を持ち、PassQueryString よりも優先されます。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。デフォルト値: false。 |
MirrorCheckMd5 | Boolean | いいえ | いいえ | 原点から返されたレスポンス本文の MD5 ハッシュをチェックするかどうかを指定します。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 MirrorCheckMd5 が true に設定されていて、オリジンから返された応答に Content-MD5 ヘッダーが含まれている場合、OSS は取得したデータの MD5 ハッシュがヘッダー値と一致するかどうかを確認します。取得したデータの MD5 ハッシュがヘッダー値と一致しない場合、OSS はデータを保存しません。 このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。MirrorCheckMd5 が true に設定され、原点から返されたレスポンスに Content-Md5 ヘッダーが含まれている場合、OSS は取得したデータの MD5 ハッシュがヘッダー値と一致するかどうかをチェックします。取得したデータの MD5 ハッシュがヘッダー値と一致しない場合、OSS はデータを保存しません。デフォルト値: false. |
PassQueryString | Boolean | いいえ | いいえ | システムがリダイレクトまたはミラーリングベースの原点復帰を実行するときに、リダイレクトリクエストに元のリクエストのパラメーターを含めるかどうかを指定します。 | たとえば、PassQueryString が true に設定され、a=b&c=d パラメーター設定が OSS に送信されたリクエストに含まれているとします。ルールで指定されたリダイレクトコードが 302 の場合、パラメーター設定はリダイレクトの Location ヘッダー値に追加されます。この例では、Location ヘッダー値は 既定値: false。有効な値: true および false。 |
Protocol | String | いいえ | いいえ | プロトコル。 | システムがリダイレクト操作を実行し、RedirectType が External または AliCDN に設定されている場合、プロトコルは以下のルールに準拠します。 たとえば、アクセスするオブジェクトの名前が test で、HostName が Protocol の有効な値は、http と https です。上記の例では、HTTP よりも安全な HTTPS に基づいてリダイレクト操作が実行されます。Protocol が http に設定されている場合、Location ヘッダー値は |
ReplaceKeyWith | String | いいえ | いいえ | リクエストがリダイレクトされたときに、リクエストされたオブジェクト名を置き換えるために使用される値。 | ReplaceKeyWith に変数を指定できます。 ${key} 変数がサポートされています。 ReplaceKeyWith に変数を指定できます。${key} 変数がサポートされています。たとえば、アクセスするオブジェクトの名前が test であるとします。ReplaceKeyWith が prefix/{key} に設定されている場合、prefix/ で指定されたオブジェクト名プレフィックスは、実際のアクセスシナリオのオブジェクトアドレスにも含まれます。この例では、Location ヘッダーで指定されたオブジェクトアドレスは |
ReplaceKeyPrefixWith | String | いいえ | いいえ | リダイレクト中にオブジェクト名のプレフィックスを置き換えるために使用される値。 | たとえば、KeyPrefixEquals が ABC/ に設定され、ReplaceKeyPrefixWith が def/ に設定されている場合、ABC/test.txt という名前のオブジェクトにアクセスすると、OSS は ABC を def に置き換えます。 たとえば、ABC/test.txt という名前のオブジェクトにアクセスするときに、KeyPrefixEquals が ABC/ に設定され、ReplaceKeyPrefixWith が def/ に設定されている場合、OSS は ABC を def に置き換えます。元のオブジェクトパスは ABC/test.txt です。リダイレクトルールが適用されると、オブジェクトパスは def/test.txt に変更されます。この例では、 この例は、お客様から提供された情報と OSS の URL リダイレクトルールの一般的なメカニズムに基づいて説明されています。実際のリダイレクト結果の詳細については、リダイレクトルールを実装する関連システムまたはサービスのドキュメントをご参照ください。 |
MirrorHeaders の構文
"MirrorHeaders": {
"PassAll": ブール値,
"Pass": リスト,
"Sets": リスト,
"Remove": リスト
}MirrorHeaders プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
PassAll | ブール値 | いいえ | いいえ | 除外ヘッダーを除くリクエストヘッダーをオリジンにパススルーするかどうかを指定します。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。次のヘッダーは除外されます。
デフォルト値:false。 |
Pass | リスト | いいえ | いいえ | オリジンにパススルーするヘッダー。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 各ヘッダーの長さは最大 1,024 バイトで、数字、文字、および半角ダッシュ(‒)のみを含めることができます。 このプロパティには最大 10 個のヘッダーを指定できます。 |
Remove | リスト | いいえ | いいえ | オリジンにパススルーしないヘッダー。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 各ヘッダーの長さは最大 1,024 バイトで、数字、文字、および半角ダッシュ(‒)のみを含めることができます。 このプロパティには最大 10 個のヘッダーを指定できます。 |
Sets | リスト | いいえ | いいえ | オリジンに送信されるヘッダー。ヘッダーがリクエストに含まれているかどうかに関係なく、オリジンから返されるデータでヘッダーが構成されます。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 このプロパティには最大 10 個のヘッダーを指定できます。詳細については、この Topic の「Sets プロパティ」セクションをご参照ください。 |
セットの構文
"Sets": [
{
"Value": 文字列,
"Key": 文字列
}
]プロパティの設定
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
キー | 文字列 | はい | いいえ | ヘッダーキー。ヘッダーキーは最大 1024 バイトです。このプロパティの文字セットは、Pass の文字セットと同じです。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 |
値 | 文字列 | はい | いいえ | ヘッダー値。ヘッダー値は最大 1,024 バイトで、\r\n を含めることはできません。 | このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。 |
IndexDocument 構文
"ErrorDocument": {
"HttpStatus": 文字列,
"Key": キー
}ErrorDocument プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Key | String | はい | いいえ | デフォルトのエラーページ。 | エラーページが指定されている場合、アクセスするオブジェクトが存在しない場合、エラーページが返されます。 |
HttpStatus | String | いいえ | いいえ | エラーページと共に返される HTTP ステータスコード。 | 有効な値:
|
戻り値
Fn::GetAtt
なし。