BatchSetCdnDomainConfig および SetCdnDomainStagingConfig API オペレーションを呼び出すことで、複数のドメイン名に対して一度に機能を設定できます。このトピックでは、設定可能な機能とそのパラメーターについて説明します。
このトピックで説明する機能は、以下の API オペレーションで参照できます。
BatchSetCdnDomainConfig および SetCdnDomainStagingConfig を呼び出すことで、ドメイン名にバッチ設定を適用できます。これにより、特定の構成を更新または削除するために使用できる一意の ConfigId が生成されます。詳細については、「ConfigId の使用」をご参照ください。
基本情報
ipv6
この機能は、IPv6 アクセスを設定するために使用されます。詳細については、「IPv6 設定」をご参照ください。
機能 ID (FunctionID/FuncId): 194。
パラメーター:
パラメーター
タイプ
必須
説明
例
switch
String
Yes
IPv6 アクセスを有効にするかどうかを指定します。有効な値:
on: 機能を有効にします。
off: シャットダウン状態を示します。
on
region
String
Yes
IPv6 が有効になっているリージョン。ワイルドカード文字 (*) がサポートされています。
説明ワイルドカード文字 (*) は、すべてのリージョンで IPv6 が有効になっていることを示します。現在、IPv6 はすべてのリージョンでのみ有効にできます。特定のリージョンで IPv6 を有効にするには、チケットを送信してください。
このパラメーターを指定しない場合、IPv6 はデフォルトですべてのリージョンで有効になります。
*
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "switch", "argValue": "on" }, { "argName": "region", "argValue": "*" }], "functionName": "ipv6" }], "DomainNames": "example.com" }
オリジンフェッチ設定
set_req_host_header
説明: デフォルトのオリジンフェッチ HOST を設定します。詳細については、「デフォルトのオリジンフェッチ HOST の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 18。
パラメーター:
パラメーター
タイプ
必須
説明
例
domain_name
String
Yes
オリジンホストヘッダーのコンテンツ。
example.com設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "domain_name", "argValue": "example.com" }], "functionName": "set_req_host_header" }], "DomainNames": "example.com" }
forward_scheme
説明: back-to-origin プロトコルポリシーを設定します。詳細については、「back-to-origin プロトコルポリシーの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 47。
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
back-to-origin プロトコルポリシーを有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
on
scheme_origin
String
No
オリジンプロトコル。有効な値:
http: CDN はオリジンフェッチに HTTP を使用します。
https: CDN はオリジンフェッチに HTTPS を使用します。
follow: CDN はクライアントリクエストと同じプロトコルを使用してオリジンサーバーからコンテンツをフェッチします。
説明scheme_origin を設定しない場合、デフォルト値は follow です。
follow
scheme_origin_port
String
No
カスタムオリジンポート。このパラメーターは scheme_origin パラメーターと組み合わせて使用する必要があります。有効な値:
scheme_origin が http に設定されている場合、HTTP オリジンポートのみを設定する必要があります。例: 80。
scheme_origin が https に設定されている場合、HTTPS オリジンポートのみを設定する必要があります。例: 443。
scheme_origin が follow に設定されている場合、HTTP と HTTPS の両方のオリジンポートを設定する必要があります。ポートはコロン (:) で区切ります。例: 80:443。
80:443
設定例 1: CDN はクライアントリクエストと同じプロトコルをオリジンフェッチに使用します。オリジンポートはプロトコルのデフォルトポートです。HTTP にはポート 80 が使用され、HTTPS にはポート 443 が使用されます。
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "scheme_origin", "argValue": "follow" }], "functionName": "forward_scheme" }], "DomainNames": "example.com" }設定例 2: CDN はクライアントリクエストと同じプロトコルをオリジンフェッチに使用します。オリジンポートはカスタムポートです。HTTP にはポート 8080 が使用され、HTTPS にはポート 4433 が使用されます。
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "scheme_origin", "argValue": "follow" }, { "argName": "scheme_origin_port", "argValue": "8080:4433" }], "functionName": "forward_scheme" }], "DomainNames": "example.com" }
l2_oss_key
プライベート OSS バケットのオリジンフェッチを設定します。注: この機能を初めて使用する場合、ワンクリック操作でデフォルトのアクセスポリシーを有効にする必要があります。これにより、ご利用のアカウント下のすべての OSS バケットに対する読み取り専用アクセス権限が CDN に付与されます。詳細については、「プライベート OSS バケットのオリジンフェッチ」をご参照ください。
機能 ID (FunctionID/FuncId): 85。
パラメーター:
パラメーター
タイプ
必須
説明
例
private_oss_auth
String
Yes
プライベートバケットからのオリジンフェッチを有効にするかどうかを指定します。有効な値:
on: 有効にします。
Off: シャットダウンを示します。
この機能を有効にすると、システムは Security Token Service (STS) トークンを自動的に設定して構成を簡素化します。ただし、この機能は、高速化ドメイン名から同じ Alibaba Cloud アカウント下のプライベート OSS バケットへのオリジンフェッチのみをサポートします。STS トークンの詳細については、「STS とは」をご参照ください。
on
perm_private_oss_tbl
String
No
永続セキュリティトークンの構成。形式は
access_id=123 access_secret=123abcです。フィールドはスペースで区切ります。永続セキュリティトークンを設定すると、高速化ドメイン名は、同じ Alibaba Cloud アカウント下のプライベート OSS バケットだけでなく、別の Alibaba Cloud アカウント下のプライベート OSS バケットからもコンテンツをフェッチできます。永続セキュリティトークンの詳細については、「AccessKey の作成」をご参照ください。
access_id=123 access_secret=123abc
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "private_oss_auth", "argValue": "on" },{ "argName": "perm_private_oss_tbl", "argValue": "access_id=123 access_secret=123abc" }], "functionName": "l2_oss_key" }], "DomainNames": "example.com" }
oss_key_list
説明: OSS オリジンフェッチ用の秘密鍵のリスト。異なるプライベート OSS バケットとその対応するセキュリティトークンに対して、1 つ以上のルールを設定できます。
機能 ID (FunctionID/FuncId): 183。
パラメーター:
パラメーター
タイプ
必須
説明
例
host
String
Yes
OSS バケットの完全なアドレス。
example.oss-cn-hangzhou.aliyuncs.com
key
String
Yes
永続セキュリティトークンの構成。形式は
access_id=123 access_secret=123abcです。フィールドはスペースで区切ります。永続セキュリティトークンを設定すると、高速化ドメイン名は、同じ Alibaba Cloud アカウント下のプライベート OSS バケットだけでなく、別の Alibaba Cloud アカウント下のプライベート OSS バケットに対してもオリジンフェッチを実行できます。永続セキュリティトークンの詳細については、「AccessKey の作成」をご参照ください。
access_id=123 access_secret=123abc
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "host", "argValue": "example.oss-cn-hangzhou.aliyuncs.com" },{ "argName": "key", "argValue": "access_id=123 access_secret=123abc" }], "functionName": "oss_key_list" }], "DomainNames": "example.com" }
https_origin_sni
説明: オリジン SNI を設定します。詳細については、「デフォルトのオリジン SNI の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 114。
パラメーター:
パラメーター
タイプ
必須
説明
例
enabled
String
Yes
オリジン SNI 機能を有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
on
https_origin_sni
String
Yes
オリジンリクエストで伝達される SNI 情報。これは、オリジンリクエストがアクセスする必要があるオリジンサーバーのアドレスです。
origin.example.com設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "https_origin_sni", "argValue": "origin.example.com" }, { "argName": "enabled", "argValue": "on" }], "functionName": "https_origin_sni" }], "DomainNames": "example.com" }
forward_timeout
説明: オリジンフェッチリクエストのタイムアウトを設定します。詳細については、「オリジンフェッチ HTTP リクエストのタイムアウトの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 124。
パラメーター:
パラメーター
タイプ
必須
説明
例
forward_timeout
Integer
Yes
リクエストタイムアウト期間。単位: 秒。
説明タイムアウト期間は 100 秒未満に設定してください。
30
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "forward_timeout", "argValue": "30" }], "functionName": "forward_timeout" }], "DomainNames": "example.com" }
advanced_origin
説明: 高度なオリジン機能を設定します。詳細については、「高度なオリジン」をご参照ください。
機能競合: 高度なオリジン機能と条件付きオリジン機能 (機能: origin_dns_host、機能 ID: 212) は相互排他です。これらの機能のいずれかが設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされます。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出します。
機能 ID (FunctionID/FuncId): 235。
パラメーター:
パラメーター
タイプ
必須
説明
例
variable_type
String
Yes
変数のタイプ。有効な値:
header: ユーザーリクエストで伝達されるリクエストヘッダー。
arg: ユーザーリクエスト URL で伝達されるクエリ文字列パラメーター。
uri: ユーザーリクエスト URL で伝達されるパス。
cookie: ユーザーリクエストで伝達されるリクエスト Cookie。
uri
variable
String
Yes
変数の名前。
説明variable_type が uri に設定されている場合、variable の値は uri である必要があります。
uri
conditions
String
Yes
条件。有効な値:
==: 等しい。
!=: 等しくない。
==
value
String
Yes
変数の値。
/image
origin
String
Yes
オリジンフェッチ中に DNS クエリに使用されるドメイン名。これは、一致した場合に指定されたオリジンサーバーアドレスへのオリジンフェッチをトリガーするユーザーリクエスト内の変数です。
origin.example.com
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "conditions", "argValue": "==" }, { "argName": "variable_type", "argValue": "uri" }, { "argName": "value", "argValue": "/image" }, { "argName": "origin", "argValue": "origin.example.com" }, { "argName": "variable", "argValue": "uri" }], "functionName": "advanced_origin" }], "DomainNames": "example.com", }
follow_302
説明: オリジン 302 リダイレクトを設定します。詳細については、「301/302 リダイレクトの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 219。
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
オリジンフェッチの 302 リダイレクトを有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
on
max_tries
Integer
No
302 リダイレクトの最大数。
デフォルト値: 2。
有効な値: 1 ~ 5。
説明302 リダイレクトの数は、オリジンフェッチの数より 1 少ないです。オリジンフェッチのデフォルトの最大数は 3 で、有効な範囲は 2 ~ 6 です。
2
retain_args
String
No
302 リダイレクト中に元のリクエストパラメーターを保持し、宛先オリジンサーバーに返すかどうかを指定します。有効な値:
on: 保持します。
off (デフォルト): 保持しません。
off
retain_header
String
No
302 リダイレクト中に元のリクエストヘッダーを保持し、宛先オリジンサーバーに返すかどうかを指定します。有効な値:
on: 保持します。
off (デフォルト): 保持しません。
off
response_header
String
No
302 リダイレクト応答ヘッダー。これは、オリジンサーバーが CDN に送信する 302 リダイレクト応答ヘッダーの名前です。デフォルトのヘッダー名は Location です。
X-Alicdn-Redirect
retain_host
String
No
302 リダイレクト中にオリジンドメイン名を保持するかどうかを指定します。有効にすると、CDN は 302 リダイレクト中にオリジンドメイン名を保持します。これは、宛先ドメイン名にリダイレクトする場合にのみ有効です。有効な値:
on: 有効
off (デフォルト): 無効
off
modify_host
String
No
302 リダイレクト中にオリジンドメイン名を変更します。これは、宛先ドメイン名にリダイレクトする場合にのみ有効です。デフォルトでは、オリジンドメイン名は変更されません。
example.com
cache
String
No
リダイレクト結果をキャッシュするかどうかを指定します。有効にすると、CDN は同じ URL のリダイレクト結果をキャッシュして応答パフォーマンスを向上させます。有効な値:
on: 有効
off (デフォルト): 無効
off
expired_time
Integer
No
リダイレクト結果をキャッシュするタイムアウト期間。このパラメーターは cache 機能と組み合わせて使用する必要があります。単位: 秒。デフォルト値: 3600。
7200
follow_origin_host
String
No
302 リダイレクト中にオリジンドメイン名をオリジンホストとして使用するかどうかを指定します。有効にすると、CDN はオリジンドメイン名をオリジンホストとして使用します。プライマリ/セカンダリのスイッチオーバー後でも、最新のオリジンドメイン名が使用されます。有効な値:
on: 有効
off (デフォルト): 無効
off
follow_5xx_retry_origin
String
No
CDN が現在のオリジンサーバーから 5xx 状態コードを受信した場合に、次に利用可能なオリジンサーバーに切り替えるかどうかを指定します。有効な値:
on: 有効
off (デフォルト): 無効
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "max_tries", "argValue": 2 }, { "argName": "retain_args", "argValue": "off" }, { "argName": "retain_header", "argValue": "off" }, { "argName": "response_header", "argValue": "X-Alicdn-Redirect" }, { "argName": "retain_header", "argValue": "off" }, { "argName": "modify_host", "argValue": "example.com" }, { "argName": "cache", "argValue": "off" }, { "argName": "expired_time", "argValue": "7200" }, { "argName": "follow_origin_host", "argValue": "off" }, { "argName": "follow_5xx_retry_origin", "argValue": "off" }], "functionName": "follow_302" }], "DomainNames": "example.com" }
set_req_header
説明: カスタムオリジンフェッチ HTTP ヘッダーを設定します。詳細については、「インバウンドリクエストヘッダーの変更」をご参照ください。
説明set_req_header は v1 機能です。v2 機能である origin_request_header を使用することをお勧めします。v2 機能は、カスタムオリジン HTTP リクエストヘッダーに対してより多くの機能を提供します。
機能 ID (FunctionID/FuncId): 39。
パラメーター:
パラメーター
タイプ
必須
説明
例
key
String
Yes
オリジンリクエストヘッダーの名前。
Accept-Encoding
value
String
Yes
オリジンリクエストヘッダーの値。オリジンリクエストヘッダーを削除するには、その値を null に設定します。
gzip
設定例 1: オリジン HTTP リクエストヘッダーを追加します。
{ "Functions": [{ "functionArgs": [{ "argName": "value", "argValue": "gzip" }, { "argName": "key", "argValue": "Accept-Encoding" }], "functionName": "set_req_header" }], "DomainNames": "example.com" }設定例 2: 値を null に設定してオリジン HTTP リクエストヘッダーを削除します。
{ "Functions":[{ "functionArgs":[{ "argName":"value", "argValue":"null" }, { "argName":"key", "argValue":"User-Agent" }], "functionName":"set_req_header" }], "DomainNames":"example.com" }
origin_request_header
説明: オリジンフェッチ HTTP リクエストヘッダー (新規) を設定します。詳細については、「アウトバウンドリクエストヘッダーの変更」をご参照ください。
機能 ID (FunctionID/FuncId): 228。
パラメーター:
パラメーター
タイプ
必須
説明
例
header_operation_type
String
Yes
リクエストヘッダー操作。有効な値:
add: アイテムを追加します。
delete: 削除します。
modify: 変更または修正します。
replace: 置き換えます。
add
header_name
String
Yes
リクエストヘッダーの名前。
Accept-Encoding
header_value
String
No
リクエストヘッダーの値。リクエストヘッダーパラメーターに複数の値を設定できます。複数の値はコンマ (,) で区切ります。
gzip
duplicate
String
No
同じ名前のリクエストヘッダーの追加を許可するかどうかを指定します。このパラメーターは、header_operation_type が add に設定されている場合に必須です。有効な値:
on: 許可します。
off: 許可しません。
off
header_source
String
No
置き換えられるパラメーター値。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。正規表現がサポートされています。
value1
header_destination
String
No
置き換え後のパラメーター値。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。
value123
match_all
String
No
マッチモード。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。有効な値:
on: すべての値を一致させます。一致したすべての値が置き換えられます。
off: 最初の値のみを一致させます。最初の一致した値のみが置き換えられます。
off
設定例: 高速化ドメイン名
example.comにカスタムオリジンリクエストヘッダーを追加します。ヘッダー名を Accept-Encoding に、ヘッダー値を gzip に設定します。{ "Functions": [{ "functionArgs": [{ "argName": "header_operation_type", "argValue": "add" }, { "argName": "header_name", "argValue": "Accept-Encoding" }, { "argName": "header_value", "argValue": "gzip" }, { "argName": "duplicate", "argValue": "off" }], "functionName": "origin_request_header" }], "DomainNames": "example.com" }
origin_response_header
説明: オリジンフェッチ HTTP 応答ヘッダーを設定できます。詳細については、「インバウンド応答ヘッダーの変更」をご参照ください。
機能 ID (FunctionID/FuncId): 229。
パラメーター:
パラメーター
タイプ
必須
説明
例
header_operation_type
String
Yes
応答ヘッダー操作。有効な値:
add: アイテムを追加します。
delete: 削除します。
modify: 指定されたアイテムを変更します。
rewrite 操作は replace 操作と同等です。
add
header_name
String
Yes
応答ヘッダーの名前。
Cache-Control
header_value
String
No
応答ヘッダーの値。応答ヘッダーパラメーターに複数の値を設定できます。複数の値はコンマ (,) で区切ります。
no-cache
duplicate
String
No
同じ名前の応答ヘッダーの追加を許可するかどうかを指定します。このパラメーターは、header_operation_type が add に設定されている場合に必須です。有効な値:
on: 許可します。
off: 許可しません。
off
header_source
String
No
置き換えられるパラメーター値。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。正規表現がサポートされています。
value1
header_destination
String
No
置き換え後のパラメーター値。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。
value123
match_all
String
No
マッチモード。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。有効な値:
on: すべての値を一致させます。一致したすべての値が置き換えられます。
off: 最初の値のみを一致させます。最初の一致した値のみが置き換えられます。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "header_operation_type", "argValue": "add" }, { "argName": "header_name", "argValue": "Cache-Control" }, { "argName": "header_value", "argValue": "no-cache" }, { "argName": "duplicate", "argValue": "off" }], "functionName": "origin_response_header" }], "DomainNames": "example.com" }
back_to_origin_url_rewrite
説明: オリジンフェッチ URI を書き換えます。詳細については、「オリジンフェッチ URL の書き換え」をご参照ください。
機能 ID (FunctionID/FuncId): 225。
パラメーター:
パラメーター
タイプ
必須
説明
例
source_url
String
Yes
書き換え対象 URI。
^/hello$
target_url
String
Yes
宛先 URI。
/hello/test
flag
String
No
書き換え操作の実行ルール。有効な値:
Empty: このルールが実行された後、後続の書き換えルールも引き続き実行されます。
break: このルールが実行された後、後続の書き換えルールは実行されません。
enhance_break: break と同様ですが、パラメーターを含む URL を処理し、FLV ライブストリームにも有効です。
break
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "flag", "argValue": "break" }, { "argName": "source_url", "argValue": "^/hello$" }, { "argName": "target_url", "argValue": "/hello/test" }], "functionName": "back_to_origin_url_rewrite" }], "DomainNames": "example.com", }
back_to_origin_argument_rewrite
説明: オリジンフェッチパラメーターを書き換えます。詳細については、「オリジンフェッチパラメーターの書き換え」をご参照ください。
説明オリジンパラメーターの書き換えは、オリジンフェッチリクエスト URL のクエリパラメーターを変更します。複数の書き換えルールを設定できます。書き換えアクションの優先順位は次のとおりです: 追加 > 削除 > 保持のみ > 変更。異なる書き換えルールが同じパラメーターに適用される場合、最も優先順位の高いルールのみが有効になります。
機能 ID (FunctionID/FuncId): 224。
パラメーター:
パラメーター
タイプ
必須
説明
例
delete_argument
String
No
削除するパラメーターのリスト。複数のパラメーターはスペースで区切ります。
code1
save_argument
String
No
保持するパラメーターのリスト。複数のパラメーターはスペースで区切ります。リストされたパラメーターのみが保持されます。追加および削除パラメーターアクションは引き続き有効です。
empty
ignore_all_argument
String
No
すべてのパラメーターを無視するかどうかを指定します。有効な値:
on: すべてのパラメーターを無視します。追加パラメーターアクションのみが有効になります。削除、のみ保持、および変更パラメーターアクションは無効になります。
off (デフォルト): すべてのパラメーターを無視しません。保持、追加、および削除パラメーターアクションは引き続き有効です。
on
add_argument
String
No
追加するパラメーター。このアクションは最も優先順位が高いです。複数のパラメーターはスペースで区切ります。
value=123
modify_argument
String
No
変更するパラメーター。このアクションは最も優先順位が低いです。パラメーターが削除された場合、保持されません。複数のパラメーターはスペースで区切ります。
value=321
enable
String
Yes
オリジンパラメーターの書き換えを有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "delete_argument", "argValue": "" }, { "argName": "save_argument", "argValue": "" }, { "argName": "add_argument", "argValue": "" }, { "argName": "modify_argument", "argValue": "" }, { "argName": "ignore_all_argument", "argValue": "on" }, { "argName": "enable", "argValue": "on" }], "functionName": "back_to_origin_argument_rewrite" }], "DomainNames": "example.com" }
aws_s3_bucket
説明: Amazon S3 認証バケットを設定します。
機能 ID (FunctionID/FuncId): 186。
パラメーター:
パラメーター
タイプ
必須
説明
例
enabled
String
Yes
Amazon S3 認証バケットを有効にするかどうかを指定します。有効な値:
l2: 有効にします。
off: 無効にします。
l2
bucketname
String
No
Amazon S3 バケットの名前。
/
accesskey
String
Yes
AWS AccessKey。
123456789
secretkey
String
Yes
AWS SecretKey。
12345678
region
String
Yes
Amazon S3 ストレージリージョン。
us-east-2
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enabled", "argValue": "l2" }, { "argName": "accesskey", "argValue": "123456789" }, { "argName": "secretkey", "argValue": "123456789" }, { "argName": "region", "argValue": "us-east-2" }], "functionName": "aws_s3_bucket" }], "DomainNames": "example.com" }
origin_certificate_verification
説明: オリジン証明書検証 (SNI ホワイトリスト) を設定します。コンソールでの詳細な設定手順については、「コモンネームホワイトリスト」をご参照ください。
機能 ID (FunctionID/FuncId): 223。
パラメーター:
パラメーター
タイプ
必須
説明
例
enabled
String
Yes
オリジン証明書検証を有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
on
common_name_whitelist
String
No
証明書のホワイトリスト登録済みドメイン名のリスト。複数のドメイン名を設定できます。複数のドメイン名はコンマ (,) で区切ります。これらのホワイトリスト登録済みドメイン名の証明書は検証に合格できます。
example.com設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "common_name_whitelist", "argValue": "example.com" }], "functionName": "origin_certificate_verification" }], "DomainNames": "example.com" }
origin_dns_host
条件付きオリジン機能とルールエンジン機能 (機能: condition、機能 ID: 250) を組み合わせて使用すると、パス、URL パラメーター、リクエストヘッダーなどのリクエスト内の情報に基づいて、指定されたオリジンにリクエストをルーティングできます。詳細については、「条件付きオリジンサーバーの設定」をご参照ください。
前提条件: 条件付きオリジンサーバーを追加する前に、ルールエンジンで少なくとも 1 つのルール条件を作成する必要があります。条件付きオリジンサーバーを追加するときは、それをルール条件に関連付ける必要があります。詳細については、「ルールエンジン」をご参照ください。ルール条件が関連付けられていない場合、CDN のすべてのオリジンフェッチトラフィックは、ルール条件を使用してオリジン URL を制御するという目的を無効にして、この単一のオリジンサーバーアドレスに直接送信されます。
機能競合に関する注意: 条件付きオリジン機能と高度なオリジン機能 (機能: advanced_origin、機能 ID: 235) は相互排他です。これらの機能のいずれかがすでに設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされます。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig オペレーションを呼び出します。
機能 ID (FunctionID/FuncId): 212。
パラメーター:
パラメーター
タイプ
必須
説明
例
ali_origin_dns_host
String
Yes
オリジンフェッチ中に DNS クエリに使用されるドメイン名。
example.com設定例: `parentid` を設定して、ルールエンジン機能 (機能: condition、機能 ID: 250) を使用して作成されたルール条件を参照します。参照は、構成が追加されたときに生成される `configid` を使用して行われます。これにより、ユーザーリクエストがこのルール条件にヒットした場合、オリジンフェッチは指定されたオリジンサーバーアドレスにルーティングされます。
{ "Functions": [{ "functionArgs": [{ "argName": "ali_origin_dns_host", "argValue": "example.com" }], "functionName": "origin_dns_host", "parentId":30119730104**** }], "DomainNames": "example.com" }
origin_host
説明: 特定のオリジンサーバーに対して特定のオリジンフェッチ HOST を設定できます。コンソールでの設定の詳細については、「特定のオリジンフェッチ HOST の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 242。
パラメーター:
パラメーター
タイプ
必須
説明
例
origin
String
Yes
特定のオリジンサーバーのアドレス。オリジンサーバーアドレスを指定しないこともできます。この場合、origin パラメーターを all に設定します。これはすべてのオリジンサーバーを表します。
example.comhost
String
Yes
特定のホスト。ホストを指定しないこともできます。host パラメーターを
ali_follow_originに設定して、オリジンサーバーアドレスをホスト値として使用します。host.example.com設定例 1: ユーザーリクエストがオリジンサーバー
example.comからフェッチされる場合、使用される `host` 値はhost.example.comです。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "example.com" }, { "argName": "host", "argValue": "host.example.com" }], "functionName": "origin_host" }], "DomainNames": "example.com" }設定例 2: すべてのオリジンサーバー ( `all` で表される) へのユーザーリクエストは、同じ `host` 値
host.example.comを使用します。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "all" }, { "argName": "host", "argValue": "host.example.com" }], "functionName": "origin_host" }], "DomainNames": "example.com" }設定例 3: すべてのオリジンサーバー ( `all` で表される) へのユーザーリクエストは、オリジンサーバーアドレスを `host` 値として使用します (
ali_follow_originで表される)。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "all" }, { "argName": "host", "argValue": "ali_follow_origin" }], "functionName": "origin_host" }], "DomainNames": "example.com" }
ali_origin_port_scheme
説明: オリジンポートとプロトコルを設定します。
機能 ID (FunctionID/FuncId): 276。
パラメーター:
パラメーター
タイプ
必須
説明
例
port
String
Yes
オリジンポート。
説明scheme が follow に設定されている場合、
http:80|https:443の形式を使用する必要があります。80
scheme
String
Yes
オリジンプロトコル。オリジンプロトコルをカスタマイズできます。有効な値: http、https、follow、https_sm、および follow_sm。
http: オリジンフェッチに HTTP プロトコルを使用します。
https: は、国際的なアルゴリズムを用いたオリジンフェッチに HTTPS プロトコルを使用します。
follow: クライアントリクエストと同じプロトコルをオリジンフェッチに使用します。オリジンフェッチに HTTPS を使用する場合、国際アルゴリズムのみがサポートされます。
クライアントが HTTP を使用する場合、オリジンフェッチは HTTP を使用します。
クライアントが HTTPS を使用する場合:
クライアントが国際アルゴリズムを使用する場合、オリジンフェッチは国際アルゴリズムを使用して HTTPS を使用します。
クライアントが中国暗号アルゴリズムを使用する場合、オリジンフェッチは国際アルゴリズムを使用して HTTPS を使用します。
https_sm: 中国暗号アルゴリズムを使用してオリジンフェッチに HTTPS プロトコルを使用します。
follow_sm: クライアントリクエストと同じプロトコルをオリジンフェッチに使用します。オリジンフェッチに HTTPS を使用する場合、国際アルゴリズムと中国暗号アルゴリズムの両方がサポートされます。
クライアントが HTTP を使用する場合、オリジンフェッチは HTTP を使用します。
クライアントは HTTPS を使用します。
クライアントが国際アルゴリズムを使用する場合、オリジンフェッチは国際アルゴリズムを使用して HTTPS を使用します。
クライアントが中国暗号アルゴリズムを使用する場合、オリジンフェッチは中国暗号アルゴリズムを使用して HTTPS を使用します。
説明国際アルゴリズムは標準的な暗号化アルゴリズムです。中国暗号アルゴリズムは、中国国家暗号管理局によって認定されています。
http
設定例 1: オリジンプロトコルを http に、オリジンポートを 80 に設定します。
{ "Functions": [{ "functionArgs": [{ "argName": "port", "argValue": "80" }, { "argName": "scheme", "argValue": "http" }], "functionName": "ali_origin_port_scheme" }], "DomainNames": "example.com" }設定例 2: オリジンプロトコルはユーザーリクエストで使用されるプロトコルに従います。オリジンフェッチに HTTP を使用する場合、リクエストはオリジンサーバーのポート 80 に送信されます。オリジンフェッチに HTTPS を使用する場合、リクエストはオリジンサーバーのポート 443 に送信されます。
{ "Functions":[{ "functionArgs": [{ "argName": "port", "argValue": "http:80|https:443" }, { "argName": "scheme", "argValue": "follow" }], "functionName":"ali_origin_port_scheme" }], "DomainNames":"example.com" }
origin_sni
説明: 特定のオリジンサーバーに対して特定のオリジン SNI を設定します。
機能 ID (FunctionID/FuncId): 262。
パラメーター:
パラメーター
タイプ
必須
説明
例
origin
String
Yes
オリジンサーバーのアドレス。オリジンサーバーアドレスを指定しないこともできます。この場合、origin パラメーターを all に設定します。
example.comsni_host
String
Yes
SNI ホスト値:
example.orgのような静的フィールドに設定できます。オリジンサーバーアドレスを SNI として使用するには、
ali_follow_originに設定します。オリジンホストを SNI として使用するには、
ali_follow_hostに設定します。
example.orgkeepalive_sni
String
No
持続的接続の SNI マッチングを有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
説明有効にすると、異なるオリジン SNI に対して異なる持続的接続が使用されます。
/
設定例 1: ユーザーリクエストがオリジンサーバー
origin.example.comからフェッチされる場合、使用される SNI 値はhost.example.comです。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "origin.example.com" }, { "argName": "sni_host", "argValue": "host.example.com" }], "functionName": "origin_sni" }], "DomainNames": "example.com" }設定例 2: すべてのオリジンサーバー (
allで表される) へのユーザーリクエストは、同じ SNI 値host.example.comを使用します。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "all" }, { "argName": "sni_host", "argValue": "host.example.com" }], "functionName":"origin_sni" }], "DomainNames":"example.com" }設定例 3: すべてのオリジンサーバー (
allで表される) へのユーザーリクエストは、オリジンサーバーアドレスを SNI 値として使用します (パラメーター値ali_follow_originで表される)。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "all" }, { "argName": "sni_host", "argValue": "ali_follow_origin" }], "functionName": "origin_sni" }], "DomainNames": "example.com" }設定例 4: すべてのオリジンサーバー (
allで表される) へのユーザーリクエストは、オリジンホストを SNI 値として使用します (パラメーター値ali_follow_hostで表される)。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "all" }, { "argName": "sni_host", "argValue": "ali_follow_host" }], "functionName": "origin_sni" }], "DomainNames": "example.com" }
source_group
説明: オリジングループ設定。
機能 ID (FunctionID/FuncId): 294。
パラメーター:
パラメーター
タイプ
必須
説明
例
source_group_name
String
Yes
オリジングループの名前。小文字、数字、アンダースコア (_) を含めることができます。最大長は 128 バイトです。
example_origin
source_info
String
Yes
オリジンサーバー情報。形式: OriginAddress_Priority_Weight_Port。異なるパラメーター値はアンダースコア (_) で区切ります。複数のオリジンサーバーはコンマ (,) で区切ります。
オリジンアドレス: IPv4、IPv6、およびドメイン名をサポートします。
優先度: 1 ~ 65535 の値をサポートします。値が小さいほど優先度が高くなります。
重み: 1 ~ 100 の値をサポートします。CDN は、重みに基づいて異なるオリジンサーバーにリクエストを分散します。
ポート: 1 ~ 65535 の値をサポートします。
単一オリジンサーバー: 192.168.0.1_10_33_80
複数オリジンサーバー: 192.168.0.1_10_33_80,192.0.2.1_10_67_80
retry_times
Integer
No
オリジンフェッチのリトライ回数。
3
retry_status_rule
Integer
No
オリジンフェッチのリトライをトリガーする状態コード。現在、以下の 5 つの値のみがサポートされています: 4xx、5xx、404、404-or-5xx、および 4xx-or-5xx。そのうちの 1 つを設定します。
404-or-5xx
failback_source
String
No
バックアップソースの基本情報を指定します。有効な値:
on: オリジングループ内のすべてのオリジンサーバーが利用できない場合、基本設定 - オリジン情報セクションのオリジンサーバーアドレスが使用されます。
off: オリジングループ内のすべてのオリジンサーバーが利用できない場合、オリジンサーバーが利用できないことを示す 5xx 状態コードがクライアントに返されます。
on
説明オリジンフェッチリトライロジック:
リトライ回数: オリジンフェッチをリトライする回数。
リトライは、同じオリジングループ内の異なる IP アドレス間でのみ試行されます。
実際のリトライ最大回数は、同じオリジングループ内の利用可能な IP アドレスの数によって制限されます。
`retry_times` が設定されていない場合、デフォルトのリトライ回数は 3 と利用可能なオリジン IP アドレスの数の最小値です。
`retry_times` が設定されている場合、リトライ回数は設定された値と利用可能なオリジン IP アドレスの数の最小値です。
リトライの状態コード: ノードは特定の状態コードを受信するとリトライします。
`retry_status_rule` が設定されていない場合、オリジンサーバーが 5xx 状態コードで応答すると、デフォルトでリトライがトリガーされます。
`retry_status_rule` が設定されている場合、設定された状態コードに基づいてフェールオーバーリトライがトリガーされます。現在、以下の 5 つの値のみがサポートされています: 4xx、5xx、404、404-or-5xx、および 4xx-or-5xx。そのうちの 1 つを設定できます。
`retry_status_rule` を設定した後も、デフォルトの 5xx 状態コードは引き続き有効です。たとえば、`404` を設定した場合、CDN ノードは 404 または 5xx 状態コードを受信するとリトライします。
オリジンフェッチリトライ順序: リトライは、同じオリジングループ内の IP アドレスの優先度の降順で試行されます。
オリジンフェッチタイムアウトシナリオ: オリジンサーバーがリトライ状態コードで積極的に応答した場合、CDN ノードはリクエストをリトライします。オリジンサーバーがリトライ状態コードで応答しない場合、CDN ノードはタイムアウト処理プロセスに従い、タイムアウト期間が経過した後にリクエストをリトライします。
オリジン TCP 接続タイムアウト: 10 秒。
オリジン書き込みタイムアウト: 30 秒。これは、オリジンサーバーとの接続が確立された後にコンテンツを書き込むためのタイムアウトです。
オリジン読み取りタイムアウト: 30 秒。これは、オリジンサーバーが指定された期間内に CDN ノードによって要求された完全なコンテンツを送信できなかった場合に発生するタイムアウトです。
オリジンプロービングロジック:
異常なレイヤー 4 接続: CDN ノードがオリジン IP アドレスとのレイヤー 4 接続を確立できない場合、そのオリジン IP アドレスをデッドテーブルに追加します。後続のオリジンフェッチリクエストは、このオリジン IP アドレスにアクセスしません。CDN ノードは、5 秒ごとにレイヤー 4 でオリジン IP アドレスをプローブします。接続が正常に確立された場合、オリジン IP アドレスは利用可能なリストに復元されます。
正常なレイヤー 4 接続: CDN ノードがオリジン IP アドレスと正常なレイヤー 4 接続を確立しているが、オリジンサーバーからリトライ状態コード (5xx など) を受信した場合、リトライロジックがトリガーされます。ただし、オリジン IP アドレスは利用可能なリストに残っており、次のアクセスリクエストは引き続きその重みに基づいてこのオリジンサーバーに送信されます。これは、レイヤー 4 接続が正常である場合、レイヤー 7 例外によってオリジン IP アドレスが自動的にブロックされないことを意味します。オリジン IP アドレスを積極的にブロックするには、レイヤー 7 オリジン監視およびヘルスチェック機能を設定する必要があります。
設定例:
{ "Functions":[{ "functionArgs":[{ "argName":"source_group_name", "argValue":"test_yidong" },{ "argName":"source_info", "argValue":"192.168.0.1_10_33_80,192.0.2.1_10_67_80" },{ "argName":"retry_times", "argValue":"3" },{ "argName":"retry_status_rule", "argValue":"404,502" },{ "argName":"failback_source", "argValue":"on" }], "functionName":"source_group" }], "DomainNames":"example.com" }
ipv6_origin
説明: IPv6 経由のオリジンフェッチを設定します。詳細については、「IPv6 経由のオリジンフェッチの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 265
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
IPv6 経由のオリジンフェッチを有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
説明IPv6 経由のオリジンフェッチを有効にすると、CDN はオリジンフェッチに IPv6 サービスを提供します。
CDN POP とオリジンサーバーの両方に利用可能な IPv6 アドレスがある場合、IPv6 接続が確立されます。
以下のシナリオでは IPv4 接続が確立されます:
CDN POP に利用可能な IPv6 アドレスがない場合。
オリジンサーバーに利用可能な IPv6 アドレスがない場合。
CDN POP とオリジンサーバーのどちらにも利用可能な IPv6 アドレスがない場合。
on
follow
String
Yes
オリジンフェッチがクライアント IP プロトコルバージョンに従う機能を有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
説明この機能を有効にすると、CDN オリジンフェッチはクライアントリクエストで使用される IP プロトコルバージョンに従います。
クライアントリクエストが IPv6 を使用する場合、CDN は IPv6 オリジンサーバーからのフェッチを優先します。IPv6 オリジンサーバーが利用できない場合、IPv4 オリジンサーバーが使用されます。
クライアントリクエストが IPv4 を使用する場合、CDN は IPv4 オリジンサーバーからのフェッチを優先します。IPv4 オリジンサーバーが利用できない場合、IPv6 オリジンサーバーが使用されます。
on
ipv6_v4_mix_used
String
No
「オリジン IPv4/IPv6 アドレスポーリング」を有効にするかどうかを指定します。有効な値:
on: 有効にします。
off: 無効にします。
説明「オリジン IPv4/IPv6 アドレスポーリング」機能は、「IPv6 経由のオリジンフェッチ」および「クライアント IP プロトコルバージョンに従う」機能と相互排他です。「オリジン IPv4/IPv6 アドレスポーリング」が有効になると、他の 2 つの機能は無効になります。
「オリジン IPv4/IPv6 アドレスポーリング」機能は、クライアントリクエストが IPv4 または IPv6 のどちらを使用しているか、およびオリジンサーバーが持つ IPv4 または IPv6 アドレスの数に関係なく、オリジンフェッチリクエストがポーリング方式を使用してすべてのオリジンサーバーアドレスに分散されることを保証します。
IPv4 および IPv6 アドレスに重みが設定されている場合、オリジンフェッチリクエストは重み比率に従って分散されます。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" },{ "argName": "follow", "argValue": "on" }], "functionName": "ipv6_origin" }], "DomainNames": "example.com" }
cos_auth
説明: Tencent Cloud COS の認証バケットを設定します。
機能 ID: 288。
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
Tencent Cloud COS 認証バケットを有効にするかどうかを指定します。有効な値:
on: 有効にします。
Off: システムシャットダウンを示します。
on
cos_valid_period
String
No
認証署名の有効期間。単位: 秒。指定しない場合、デフォルト値は 3600 秒です。
/
cos_secret_id
String
Yes
Tencent Cloud の認証 ID。
123456789
cos_secret_key
String
Yes
Tencent Cloud の認証キー。
12345678
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "cos_secret_id", "argValue": "123456789" }, { "argName": "cos_secret_key", "argValue": "123456789" }], "functionName": "cos_auth" }], "DomainNames": "example.com" }
oss_auth
説明: CDN が OSS からコンテンツをフェッチするための認証バケット情報を設定します。
機能 ID (FunctionID/FuncId): 10。
注: 高速化ドメイン名に OSS オリジンサーバーを設定すると、プラットフォームは自動的に `oss_auth` 構成を追加します。この構成を追加または削除しないでください。この構成を削除すると、CDN back-to-origin トラフィックの課金免除が適用されない場合があります。プライベート OSS バケットの認証が有効になっている場合、この構成を削除すると、オリジンフェッチリクエストの認証が失敗します。
パラメーター:
パラメーター
タイプ
必須
説明
例
oss_bucket_id
String
Yes
OSS バケットのパブリックドメイン名。
cdn-test.oss-cn-hongkong.aliyuncs.com
oss_pri_buckets
String
Yes
OSS バケットのパブリックドメイン名とそれに対応するバケット名。
cdn-test.oss-cn-hongkong.aliyuncs.com|cdn-test
設定例:
{ "Functions": [ { "ArgValue": "cdn-test.oss-cn-hongkong.aliyuncs.com", "ArgName": "oss_bucket_id" }, { "ArgValue": "cdn-test.oss-cn-hongkong.aliyuncs.com|cdn-test", "ArgName": "oss_pri_buckets" } ], "functionName": "oss_auth" }], "DomainNames": "example.com" }
キャッシュ設定
filetype_based_ttl_set
説明: ファイルのキャッシュ有効期限を設定します。詳細については、「CDN キャッシュ有効期限の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 6。
パラメーター:
パラメーター
タイプ
必須
説明
例
ttl
Integer
はい
キャッシュ期間です。単位は秒です。有効値:1 ~ 99999999(約 3 年以上)。
500000
file_type
String
はい
ファイル形式です。大文字と小文字は区別されます。複数のファイル形式を指定する場合は、カンマ (,) で区切ります。例:jpg,txt。
jpg
weight
Integer
いいえ
重みです。有効値:1 ~ 99。
説明デフォルト値は 1 です。値が大きいほど優先度が高くなります。
1
swift_origin_cache_high
String
いいえ
オリジンサーバーのキャッシュポリシーを優先します。有効にすると、オリジンサーバーがキャッシュ関連のヘッダー(Cache-Control や Pragma など)を含む応答を返した場合、オリジンサーバーのキャッシュポリシーが優先されます。有効値:
on:有効
off(デフォルト):無効
off
swift_no_cache_low
String
いいえ
オリジンサーバーの no-cache 応答ヘッダーを無視します。有効にすると、オリジンサーバーから返される以下の応答ヘッダー(すべてキャッシュ不可を示す)が無視されます。
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: max-age=0
Pragma: no-cache
有効値:
on:有効
off(デフォルト):無効
off
swift_follow_cachetime
String
いいえ
クライアントが CDN のキャッシュポリシーをフォローします。有効にすると、最終的に適用される CDN のキャッシュポリシーがクライアントに送信されます。有効値:
on:有効
off(デフォルト):無効
off
force_revalidate
String
いいえ
TTL が 0 の場合にコンテンツの検証を強制します。有効値:
on:有効。TTL が 0 の場合、CDN のポイントオブプレゼンスにコンテンツをキャッシュでき、各リクエストに対してオリジンフェッチを行い、キャッシュされたコンテンツの検証を行います。
off(デフォルト):無効。TTL が 0 の場合、CDN のポイントオブプレゼンスはコンテンツをキャッシュせず、各リクエストに対してオリジンフェッチを行い、再度コンテンツを取得します。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "file_type", "argValue": "jpg" }, { "argName": "weight", "argValue": "1" }, { "argName": "ttl", "argValue": "500000" }, { "argName": "swift_origin_cache_high", "argValue": "off" }, { "argName": "swift_no_cache_low", "argValue": "off" }, { "argName": "swift_follow_cachetime", "argValue": "off" },{ "argName": "force_revalidate", "argValue": "off" }], "functionName": "filetype_based_ttl_set" }], "DomainNames": "example.com" }
path_based_ttl_set
フォルダーのキャッシュ有効期限を設定します。詳細については、「CDN キャッシュ有効期限の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 7。
パラメーター:
パラメーター
タイプ
必須
説明
例
ttl
Integer
Yes
キャッシュ期間。単位: 秒。有効な値: 1 ~ 99999999 (3 年強)。
500000
path
String
Yes
ディレクトリ。スラッシュ (/) で始まる必要があります。
/example/demo
weight
Integer
No
重み。有効な値: 1 ~ 99。
説明デフォルト値は 1 です。数値が大きいほど優先度が高くなります。
1
swift_origin_cache_high
String
No
オリジンサーバーのキャッシュポリシーを優先します。有効にすると、オリジンサーバーがキャッシュ関連ヘッダー (Cache-Control、Pragma など) で応答した場合、オリジンサーバーのキャッシュポリシーが優先されます。有効な値:
on: 有効
off (デフォルト): 無効
off
swift_no_cache_low
String
No
オリジンサーバーの no-cache 応答ヘッダーを無視します。有効にすると、オリジンサーバーからの以下の応答ヘッダーが無視されます (すべてキャッシュなしを示します):
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: max-age=0
Pragma: no-cache
有効な値:
on: 有効
off (デフォルト): 無効
off
swift_follow_cachetime
String
No
クライアントは CDN キャッシュポリシーに従います。有効にすると、最終的に有効な CDN キャッシュポリシーがクライアントに送信されます。有効な値:
on: 有効
off (デフォルト): 無効
off
force_revalidate
String
No
TTL が 0 の場合にコンテンツ検証を強制します。有効な値:
on: 有効。TTL が 0 の場合、コンテンツは CDN POP にキャッシュでき、各リクエストはキャッシュされたコンテンツを検証するためにオリジンフェッチを必要とします。
off (デフォルト): 無効。TTL が 0 の場合、CDN POP はコンテンツをキャッシュせず、各リクエストはコンテンツを再度取得するためにオリジンフェッチを必要とします。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "path", "argValue": "/example/demo" }, { "argName": "weight", "argValue": "1" }, { "argName": "ttl", "argValue": "500000" }, { "argName": "swift_origin_cache_high", "argValue": "off" }, { "argName": "swift_no_cache_low", "argValue": "off" }, { "argName": "swift_follow_cachetime", "argValue": "off" }, { "argName": "force_revalidate", "argValue": "off" }], "functionName": "path_based_ttl_set" }], "DomainNames": "example.com" }
filetype_force_ttl_code
ステータスコードの有効期限を設定します。詳細については、「ステータスコードの有効期限の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 63。
パラメーター:
パラメーター
タイプ
必須
説明
例
file_type
String
Yes
ファイル形式。大文字と小文字を区別します。複数のファイル形式はコンマ (,) で区切ります。例: jpg,txt。
jpg
code_string
String
Yes
状態コードとそのキャッシュ期間。単位: 秒。有効な値: 1 ~ 99999999 (3 年強)。複数のエントリはコンマ (,) で区切ります。例: 302=0,301=0,4xx=2。
403=10
swift_code_origin_cache_high
String
No
オリジンサーバーのキャッシュポリシーを優先します。有効にすると、オリジンサーバーがキャッシュ関連ヘッダー (Cache-Control、Pragma など) で応答した場合、オリジンサーバーのキャッシュポリシーが優先されます。有効な値:
on: 有効
off (デフォルト): 無効
off
swift_code_no_cache_low
String
No
オリジンサーバーの no-cache 応答ヘッダーを無視します。有効にすると、オリジンサーバーからの以下の応答ヘッダーが無視されます (すべてキャッシュなしを示します):
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: max-age=0
Pragma: no-cache
有効な値:
on: 有効
off (デフォルト): 無効
off
swift_code_follow_cachetime
String
No
クライアントは CDN キャッシュポリシーに従います。有効にすると、最終的に有効な CDN キャッシュポリシーがクライアントに送信されます。有効な値:
on: 有効
off (デフォルト): 無効
off
force_revalidate
String
No
TTL が 0 の場合にコンテンツ検証を強制します。有効な値:
on: 有効。TTL が 0 の場合、コンテンツは CDN POP にキャッシュでき、各リクエストはキャッシュされたコンテンツを検証するためにオリジンフェッチを必要とします。
off (デフォルト): 無効。TTL が 0 の場合、CDN POP はコンテンツをキャッシュせず、各リクエストはコンテンツを再度取得するためにオリジンフェッチを必要とします。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "file_type", "argValue": "jpg" }, { "argName": "code_string", "argValue": "403=10" }, { "argName": "swift_code_origin_cache_high", "argValue": "off" }, { "argName": "swift_code_no_cache_low", "argValue": "off" }, { "argName": "swift_code_follow_cachetime", "argValue": "off" }, { "argName": "force_revalidate", "argValue": "off" }], "functionName": "filetype_force_ttl_code" }], "DomainNames": "example.com" }
path_force_ttl_code
説明: この機能により、パスのステータスコードの有効期限を設定できます。詳細については、「ステータスコードの有効期限の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 65。
パラメーター:
パラメーター
タイプ
必須
説明
例
path
String
Yes
ディレクトリ。スラッシュ (/) で始まる必要があります。例: /image。
/example/demo
code_string
String
Yes
状態コードとそのキャッシュ期間。単位: 秒。有効な値: 1 ~ 99999999 (3 年強)。複数のエントリはコンマ (,) で区切ります。例: 302=0,301=0,4xx=2。
403=10,404=15
swift_code_origin_cache_high
String
No
オリジンサーバーのキャッシュポリシーを優先します。有効にすると、オリジンサーバーがキャッシュ関連ヘッダー (Cache-Control、Pragma など) で応答した場合、オリジンサーバーのキャッシュポリシーが優先されます。有効な値:
on: 有効
off (デフォルト): 無効
off
swift_code_no_cache_low
String
No
オリジンサーバーの no-cache 応答ヘッダーを無視します。有効にすると、オリジンサーバーからの以下の応答ヘッダーが無視されます (すべてキャッシュなしを示します):
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: max-age=0
Pragma: no-cache
有効な値:
on: 有効
off (デフォルト): 無効
off
swift_code_follow_cachetime
String
No
クライアントは CDN キャッシュポリシーに従います。有効にすると、最終的に有効な CDN キャッシュポリシーがクライアントに送信されます。有効な値:
on: 有効
off (デフォルト): 無効
off
force_revalidate
String
No
TTL が 0 の場合にコンテンツ検証を強制します。有効な値:
on: 有効。TTL が 0 の場合、コンテンツは CDN POP にキャッシュでき、各リクエストはキャッシュされたコンテンツを検証するためにオリジンフェッチを必要とします。
off (デフォルト): 無効。TTL が 0 の場合、CDN POP はコンテンツをキャッシュせず、各リクエストはコンテンツを再度取得するためにオリジンフェッチを必要とします。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "path", "argValue": "/example/demo" }, { "argName": "code_string", "argValue": "403=10,404=15" }, { "argName": "swift_code_origin_cache_high", "argValue": "off" }, { "argName": "swift_code_no_cache_low", "argValue": "off" }, { "argName": "swift_code_follow_cachetime", "argValue": "off" }, { "argName": "force_revalidate", "argValue": "off" }], "functionName": "path_force_ttl_code" }], "DomainNames": "example.com" }
default_ttl_code
説明: ステータスコードの有効期限 (オリジン優先) を設定します。コンソールでの設定手順については、「ステータスコードの有効期限の設定 (オリジン優先)」をご参照ください。
機能 ID (FunctionID/FuncId): 207。
パラメーター:
パラメーター
タイプ
必須
説明
例
default_ttl_code
String
Yes
状態コードとそのキャッシュ期間。単位: 秒。有効な値: 1 ~ 99999999 (3 年強)。複数の状態コードはコンマ (,) で区切ります。
4xx=3,200=3600,5xx=1
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "default_ttl_code", "argValue": "4xx=3,200=3600,5xx=1" }], "functionName": "default_ttl_code" }], "DomainNames": "example.com" }
set_resp_header
説明: カスタム HTTP 応答ヘッダーを設定します。詳細については、「アウトバウンド応答ヘッダーの変更」をご参照ください。
機能 ID (FunctionID/FuncId): 27。
パラメーター:
パラメーター
タイプ
必須
説明
例
key
String
Yes
応答ヘッダー。
Cache-Control
value
String
Yes
応答ヘッダーの値。複数の値はコンマ (,) で区切ります。
説明応答ヘッダーを削除する場合は、その値を null に設定します。
no-cache
header_operation_type
String
No
リクエストヘッダー操作。有効な値:
add: アイテムを追加します。
Delete: 削除します。
modify: アイテムに変更を加えます。
Rewrite: 置き換えます。
add
duplicate
String
No
既に存在する名前のリクエストヘッダーの追加を許可するかどうかを指定します。このパラメーターは、header_operation_type が add に設定されている場合に必須です。
on: 重複を許可します。
off: 重複を許可しません。
off
header_source
String
No
置き換えるパラメーター値。このパラメーターは、header_operation_type が rewrite に設定されている場合に必須です。値は正規表現にすることができます。
value1
header_destination
String
No
パラメーターの新しい値。header_operation_type が rewrite に設定されている場合にこのパラメーターを設定します。
value123
match_all
String
No
置き換え操作のために header_operation_type が rewrite に設定されている場合に使用するマッチパターンを指定します:
on: 一致したすべての値を置き換えます。
off: 一致した最初の値のみを置き換えます。
/
access_origin_control
String
No
クロスドメイン検証:
on: CDN POP でクロスドメイン検証を有効にします。
off: 機能を無効にします。
/
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "header_operation_type", "argValue": "add" }, { "argName": "key", "argValue": "Cache-Control" }, { "argName": "value", "argValue": "no-cache" }, { "argName": "duplicate", "argValue": "off" }], "functionName": "set_resp_header" }], "DomainNames": "example.com" }
error_page
説明: カスタムページを設定します。詳細については、「カスタムページの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 15。
パラメーターの説明:
パラメーター
タイプ
必須
説明
例
error_code
Integer
Yes
エラーコード。
404
rewrite_page
String
Yes
リダイレクトページ。
http://example.aliyundoc.com/error404.html設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "error_code", "argValue": "404" }, { "argName": "rewrite_page", "argValue": "http://example.aliyundoc.com/error404.html" }], "functionName": "error_page" }], "DomainNames": "example.com" }
host_redirect
説明: URI 書き換えルールを設定します。詳細については、「アクセス URL の書き換え」をご参照ください。
機能 ID (FuncId): 43。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
regex
String
Yes
書き換える URI。URI はスラッシュ (/) で始まり、http:// プレフィックスやドメイン名を含めることはできません。PCRE (Perl 互換正規表現) がサポートされています。例: ^/hello$。
^/hello$
replacement
String
Yes
実行ルールが「Break」に設定されている場合、スラッシュ (/) で始まるパスのみがサポートされます。パスにはプロトコルプレフィックスやドメイン名を含めることはできません。実行ルールが「Redirect」に設定されている場合、パスにはプロトコルプレフィックスとドメイン名を含めることができます。PCRE がサポートされています。たとえば、$1 と $2 を使用して、書き換えたいパスの括弧内の文字列をキャプチャします。
/hello/test
flag
String
No
URI が書き換えられた後に CDN POP が実行するアクションを指定します。有効な値:
Empty: デフォルト値。これは、flag パラメーターが渡されないことを意味します。複数のルールを設定し、リクエスト URL がルールに一致する場合、現在のルールが実行された後、POP は後続のルールとの照合を続行します。
break: リクエスト URL がルールに一致する場合、リクエストは宛先 URL に書き換えられます。元の URI のパラメーターは変更されません。現在のルールが実行された後、POP は他のルールとの照合を停止します。
redirect: リクエスト URL がルールに一致する場合、リクエストは 302 状態コードで宛先 URL にリダイレクトされます。POP は宛先 URL を Location 情報としてクライアントに返します。元の URI のパラメーターは変更されません。現在のルールが実行された後、POP は後続のルールとの照合を続行します。
enhance_break: break と同様ですが、このアクションはパラメーターを含む URL 全体を変更します。
enhance_redirect: redirect と同様ですが、このアクションはパラメーターを含む URL 全体を変更します。
説明異なる実行ルールは異なる書き換えメソッドを使用します。また、書き換えられた URL が他のドメイン名やプロトコルをサポートするかどうかにも違いがあります:
Empty、break、および enhance_break はリクエスト URL を直接書き換えます。他のドメイン名やプロトコルへの書き換えはサポートしていません。たとえば、URL を HTTP から HTTPS に書き換えることはできません。
redirect および enhance_redirect は 302 リダイレクトメソッドを使用して URL の書き換えを実装します。このメソッドは、他のドメイン名への書き換えや他のプロトコルへの書き換えもサポートしています:
302 Location アドレスは、現在の高速化ドメイン名以外のドメイン名に設定できます。たとえば、example.com ドメイン名を使用する元の URL は、aliyundoc.com などの新しいドメイン名を使用するように書き換えることができます。
302 Location アドレスは他のプロトコルをサポートしています。たとえば、HTTP プロトコルを使用する元の URL は、HTTPS プロトコルを使用するように書き換えることができます。
redirect
rewrite_method
String
No
リダイレクトメソッド。サポートされている状態コードは 302、303、および 307 です:
302: デフォルトのリダイレクトメソッド。GET リクエストメソッドは変更されません。他のリクエストメソッドは GET に変更される可能性があります。
303: GET リクエストメソッドは変更されません。他のリクエストメソッドは GET に変更されます。メッセージ本文は失われます。
307: リクエストメソッドとメッセージ本文は変更されません。
302
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "flag", "argValue": "redirect" }, { "argName": "regex", "argValue": "^/hello$" }, { "argName": "replacement", "argValue": "/hello/test" }, { "argName": "rewrite_method", "argValue": "302" }], "functionName": "host_redirect" }], "DomainNames": "example.com" }
self_defined_cachekey
カスタムキャッシュキーを設定します。詳細については、「カスタムキャッシュキー」をご参照ください。
機能 ID: 227。
パラメーター:
パラメーター
タイプ
必須
説明
値の例
uri
Array of String
No
ソース URI を宛先 URI に書き換え、宛先 URI をキャッシュキーとして使用します。
uri_to_rewrite: ソース URI。
ai_uri_regex: 宛先 URI。
[{"uri_to_rewrite":"/hello","ai_uri_regex":"/hello/test"}]args
Array of String
No
リクエスト内のパラメーターを追加、削除、変更、または保持し、結果をキャッシュキーとして保存します。値は次のパラメーターで構成されます:
args_operation_type: パラメーターに対して実行する操作のタイプ。有効な値は add、delete、modify、および keep です。
args: 操作のパラメーター値。
[{"args":"test=123","args_operation_type":"add"}]headers
String
No
複数の HTTP ヘッダーをスペースで区切ってキャッシュキーに追加します。
example
variable
Array of String
No
カスタム変数は、正規表現を使用してリクエストパラメーター、HTTP ヘッダー、Cookie、または URI から任意のフィールドを抽出し、それをキャッシュキーに追加します。
[]
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "uri", "argValue": [{ "uri_to_rewrite": "/hello", "ai_uri_regex": "/hello/test" }] }, { "argName": "args", "argValue": [{ "args": "test=123", "args_operation_type": "add" }] }, { "argName": "headers", "argValue": "" }, { "argName": "variable", "argValue": [] }], "functionName": "self_defined_cachekey" }], "DomainNames": "example.com" }
rewrite_host
説明: 共有キャッシュ。
機能 ID (FunctionID/FuncId): 54。
パラメーター:
パラメーター
タイプ
必須
説明
値の例
share_host
String
Yes
現在のドメイン名とキャッシュを共有できるターゲットドメイン名。この設定は、オリジンフェッチリクエストの Host ヘッダーを変更しません。キャッシュされたリソースがクエリされると、システムは share_host 値を使用してキャッシュキーを生成します。
example.com
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "share_host", "argValue": "example.com" }], "functionName": "rewrite_host" }], "DomainNames": "example.com" }
serving_stale_content
説明: オリジンサーバーが利用できない場合やエラーを返す場合に、キャッシュから古いコンテンツを配信します。
機能 ID: 260
パラメーター:
パラメーター
タイプ
必須
説明
例
origin_error_status_code
String
No
この機能をトリガーするオリジンサーバーのエラーステータスコードを指定します。
機能の説明: この機能をトリガーするオリジンサーバーからのステータスコードを指定します。
デフォルト値: 指定なし。デフォルトでは、オリジンサーバーのエラーにはタイムアウトとすべての 5xx ステータスコードが含まれます。
設定: ワイルドカードマッチには 4xx または 5xx を入力します。正確なマッチには 502 や 504 などの特定のステータスコードを入力することもできます。複数のステータスコードを入力するには、コンマで区切ります。
502
extend_expiration_time
Integer
No
期限切れになった古いキャッシュコンテンツを保持する最大時間。
機能の説明: キャッシュが期限切れになった後に保持する最大期間。
有効期限延長時間のデフォルト値は 1 時間です。
1 以上の整数を入力します。単位は秒です。
60
origin_first
String
No
オリジンサーバーからのキャッシュポリシーを優先するかどうかを指定します。
説明: このパラメーターが on に設定されている場合、オリジンポリシーが優先されます。オリジンサーバーが
Cache-Control: stale-if-error=xxヘッダーを持つファイルを返す場合、stale-if-errorパラメーターで指定された時間が延長有効期限として使用されます。デフォルト: このパラメーターはデフォルトで空であり、off と同等です。この場合、延長有効期限は extend_expiration_time パラメーターによって設定されます。
設定: 有効な値は
on(有効) とoff(無効) です。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "origin_error_status_code", "argValue": "502" }, { "argName": "extend_expiration_time", "argValue": "60" }, { "argName": "origin_first", "argValue": "off" }], "functionName": "serving_stale_content" }], "DomainNames": "example.com" }
HTTPS 設定
https_option
説明: 基本的な HTTPS パラメーターを設定します。詳細については、「HTTPS 証明書の設定」、「HTTP/2 の設定」、および「OCSP Stapling の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 78。
パラメーター:
パラメーター
タイプ
必須
説明
例
http2
String
No
HTTP/2 を有効にするかどうかを指定します。
on: 設定を有効にします。
off: シャットダウン状態。
on
ocsp_stapling
String
No
Online Certificate Status Protocol (OCSP) 機能を有効にするかどうかを指定します。
on: 機能を有効にします。
off: シャットダウンを示します。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "http2", "argValue": "on" }, { "argName": "ocsp_stapling", "argValue": "on" }], "functionName": "https_option" }], "DomainNames": "example.com" }
http_force
説明: HTTP への強制リダイレクトを設定します。詳細については、「強制リダイレクトの設定」をご参照ください。
HTTP への強制リダイレクト機能と HTTPS への強制リダイレクト機能 (機能: https_force、機能 ID: 44) は相互排他です。これらの機能のいずれかを設定している場合は、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されていても、機能は設定済みと見なされることに注意してください。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出すことができます。
機能 ID (FunctionID/FuncId): 45。
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
HTTP リダイレクトを強制します:
on: 機能を有効にします。
off: 機能を無効にします。
on
http_rewrite
String
No
リダイレクトメソッド。有効な状態コードは 301 と 308 です。
301: GET リクエストメソッドは変更されません。他のリクエストメソッドは GET に変更される可能性があります。
308: リクエストメソッドとメッセージ本文は変更されません。
301
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "http_rewrite", "argValue": "301" }], "functionName": "http_force" }], "DomainNames": "example.com" }
https_force
HTTPS への強制リダイレクトを設定できます。詳細については、「強制リダイレクトの設定」をご参照ください。
機能競合に関する注意: HTTPS への強制リダイレクト機能と HTTP への強制リダイレクト機能 (機能: http_force、機能 ID: 45) は相互排他です。これらの機能のいずれかがすでに設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされることに注意してください。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出すことができます。
機能 ID (FunctionID/FuncId): 44。
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
HTTPS への強制リダイレクトを有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
on
https_rewrite
String
No
リダイレクトメソッド。有効な状態コードは 301 と 308 です。
301: GET リクエストメソッドは変更されません。他のリクエストメソッドは GET に変更される可能性があります。
308: リクエストメソッドとメッセージ本文は変更されません。
301
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "https_rewrite", "argValue": "301" }], "functionName": "https_force" }], "DomainNames": "example.com" }
https_tls_version
説明: TLS バージョンを設定します。詳細については、「TLS バージョンと暗号スイートの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 110。
パラメーター:
パラメーター
タイプ
必須
説明
例
tls10
String
No
TLSv1.0 を有効にするかどうかを指定します。
on (デフォルト): バージョンを有効にします。
Off: シャットダウン。
on
tls11
String
No
TLSv1.1 を有効にするかどうかを指定します。
on (デフォルト): バージョンを有効にします。
off: シャットダウン状態を示します。
on
tls12
String
No
TLSv1.2 を有効にするかどうかを指定します。
on (デフォルト): バージョンを有効にします。
Off: シャットダウン。
on
tls13
String
No
TLSv1.3 を有効にするかどうかを指定します。
On (デフォルト)
off: シャットダウンを示します。
on
ciphersuitegroup
String
No
暗号スイートグループ。
all (デフォルト): すべての暗号スイート。
strict: 強力な暗号スイート。
custom: カスタム暗号スイート。
all
String
No
暗号スイート。このパラメーターは、ciphersuitegroup が custom に設定されている場合に使用されます。複数の暗号スイートを指定できます。コンマ (,) で区切ります。
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
設定例:
デフォルト設定: TLSv1.0、TLSv1.1、および TLSv1.2 を有効にし、すべての暗号スイートを使用します。
{ "Functions": [{ "functionArgs": [ { "ArgValue": "on", "ArgName": "tls10" }, { "ArgValue": "on", "ArgName": "tls11" }, { "ArgValue": "on", "ArgName": "tls12" }, { "ArgValue": "off", "ArgName": "tls13" }, { "ArgValue": "all", "ArgName": "ciphersuitegroup" } ], "functionName": "https_tls_version" }], "DomainNames": "example.com" }TLSv1.2 と TLSv1.3 を有効にし、強力な暗号スイートを使用します。
{ "Functions": [{ "functionArgs": [ { "ArgValue": "off", "ArgName": "tls10" }, { "ArgValue": "off", "ArgName": "tls11" }, { "ArgValue": "on", "ArgName": "tls12" }, { "ArgValue": "on", "ArgName": "tls13" }, { "ArgValue": "strict", "ArgName": "ciphersuitegroup" } ], "functionName": "https_tls_version" }], "DomainNames": "example.com" }TLSv1.2 と TLSv1.3 を有効にし、カスタム暗号スイートを使用します。
{ "Functions": [{ "functionArgs": [ { "ArgValue": "off", "ArgName": "tls10" }, { "ArgValue": "off", "ArgName": "tls11" }, { "ArgValue": "on", "ArgName": "tls12" }, { "ArgValue": "on", "ArgName": "tls13" }, { "ArgValue": "custom", "ArgName": "ciphersuitegroup" }, { "ArgValue": "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ArgName": "ciphersuite" } ], "functionName": "https_tls_version" }], "DomainNames": "example.com" }
https_client_cert
説明: クライアント認証証明書を設定します。詳細については、「クライアント認証証明書」をご参照ください。
機能 ID (FunctionID/FuncId): 111。
パラメーター:
パラメーター
タイプ
必須
説明
例
client_certificate_verify
String
Yes
クライアント証明書認証を有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
onclient_certificate
String
Yes
自己署名クライアント証明書 (公開鍵)。CA 証明書は次の形式要件を満たす必要があります:
-----BEGIN CERTIFICATE-----で始まり、-----END CERTIFICATE-----で終わります。
-----BEGIN PUBLIC KEY-----***********-----END PUBLIC KEY-----client_verify_depth
String
No
認証深度、証明書チェーン深度とも呼ばれます。このパラメーターは、クライアント証明書を認証するために使用される信頼チェーン内の証明書レベルの数を指定します。深度は、クライアント証明書自体からルート CA 証明書までのレベル数です。デフォルト値は 1 です。
1設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "client_certificate_verify", "argValue": "on" }, { "argName": "client_certificate", "argValue": "-----BEGIN PUBLIC KEY-----***********-----END PUBLIC KEY-----" }], "functionName": "https_client_cert" }], "DomainNames": "example.com" }
HSTS
説明: この機能は、HTTP Strict Transport Security (HSTS) を設定するために使用されます。詳細な設定手順については、「HSTS の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 112。
パラメーター:
パラメーター
タイプ
必須
説明
例
enabled
String
Yes
HSTS を有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
on
https_hsts_max_age
Integer
Yes
有効期限 (秒)。
説明5184000 秒 (60 日) の値が推奨されます。
5184000
https_hsts_include_subdomains
String
No
HSTS ヘッダーにサブドメインを含めるかどうかを指定します。有効な値は on と off です。
説明このパラメーターを有効にする前に、高速化ドメイン名のすべてのサブドメインで HTTPS が有効になっていることを確認してください。そうしないと、サブドメインは自動的に HTTPS にリダイレクトされた後、アクセスできなくなります。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enabled", "argValue": "on" }, { "argName": "https_hsts_max_age", "argValue": "5184000" }, { "argName": "https_hsts_include_subdomains", "argValue": "off" }], "functionName": "HSTS" }], "DomainNames": "example.com" }
アクセス制御
referer_white_list_set
説明: Referer ホワイトリストを設定します。詳細については、「Referer ブラックリスト/ホワイトリストの設定」をご参照ください。
機能競合に関する注意: Referer ホワイトリスト機能と Referer ブラックリスト機能 (機能: referer_black_list_set、機能 ID: 5) は相互排他です。これらの機能のいずれかがすでに設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされることに注意してください。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出すことができます。
機能 ID (FunctionID/FuncId): 1。
パラメーター:
パラメーター
タイプ
必須
説明
例
refer_domain_allow_list
String
Yes
ホワイトリスト。複数のドメイン名はコンマ (,) で区切ります。
example.aliyundoc.com,demo.aliyundoc.comallow_empty
String
No
空の Referer ヘッダーを持つリクエストが CDN リソースにアクセスすることを許可するかどうかを指定します。有効な値:
on: アクセスを許可します。
off (デフォルト): アクセスを拒否します。
off
redirect_url
String
No
リダイレクト URL。ユーザーリクエストの Referer ヘッダーがホワイトリストと一致しない場合、リクエストはブロックされます。403 状態コードを返す代わりに、CDN は 302 状態コードと Location ヘッダーを返します。このパラメーターは Location ヘッダーの値を指定します。URL は `http://` または `https://` で始まる必要があります。
http://www.example.comdisable_ast
String
No
ホワイトリスト内のドメイン名が完全に一致する必要があるかどうかを指定するために、完全一致パターンを使用します。このオプションが選択されている場合 (on)、完全なドメイン名の一致のみが許可されます。
値が on の場合:
完全一致がサポートされています。
ホワイトリストに
example.comを入力すると、example.comと一致します。ホワイトリストに
a*b.example.comを入力すると、a<any characters>b.example.comと一致します。
サフィックス一致はサポートされていません。
値が off (デフォルト) の場合:
完全一致はサポートされていません。
サフィックス一致がサポートされています。
ホワイトリストに
example.comを入力すると、example.comと<any characters>.example.comに一致します。ホワイトリストに
a*b.example.comを入力すると、a<any characters>b.example.comと<any characters>.a<any characters>b.example.comに一致します。
off
ignore_scheme
String
No
Referer ヘッダーのスキームを無視するかどうかを指定します。この機能が有効になっている場合、HTTP または HTTPS プロトコルを持たない Referer ヘッダーも有効と見なされます。例:
値が `on` の場合、Referer の形式は次のようになります:
referer: www.example.com値が `off` (デフォルト) の場合、Referer の形式は次のようになります:
referer: https://www.example.com
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "allow_empty", "argValue": "off" }, { "argName": "refer_domain_allow_list", "argValue": "example.aliyundoc.com,demo.aliyundoc.com" }], "functionName": "referer_white_list_set" }], "DomainNames": "example.com" }
referer_black_list_set
この機能を使用して、Referer ブラックリストを設定できます。詳細については、「Referer ブラックリスト/ホワイトリストの設定」をご参照ください。
機能競合に関する注意: Referer ブラックリスト機能と Referer ホワイトリスト機能 (機能: referer_white_list_set、機能 ID: 1) は相互排他です。これらの機能のいずれかがすでに設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされることに注意してください。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出すことができます。
機能 ID (FunctionID/FuncId): 5。
パラメーター:
パラメーター
タイプ
必須
説明
例
refer_domain_deny_list
String
Yes
ブラックリスト。複数のドメイン名はコンマ (,) で区切ります。
example.aliyundoc.com,demo.aliyundoc.comallow_empty
String
No
空の Referer ヘッダーを持つリクエストが CDN リソースにアクセスすることを許可するかどうかを指定します:
on: アクセスを許可します。
off: アクセスを拒否します。
off
redirect_url
String
No
リダイレクト URL。ユーザーリクエストの Referer ヘッダーがブラックリストと一致する場合、リクエストはブロックされます。403 状態コードを返す代わりに、CDN は 302 状態コードと Location ヘッダーを返します。このパラメーターは Location ヘッダーの値を指定します。URL は `http://` または `https://` で始まる必要があります。
http://www.example.comdisable_ast
String
No
ブラックリスト内のドメイン名の完全一致を有効にするかどうかを指定します。このパラメーターを `on` に設定すると、完全一致が有効になります。
値が `on` の場合:
完全一致がサポートされています。
ブラックリストに
example.comを追加すると、example.comに一致します。ブラックリストに
a*b.example.comを追加すると、a<any string>b.example.comに一致します。
サフィックス一致はサポートされていません。
値が `off` (デフォルト) の場合:
完全一致はサポートされていません。
サフィックス一致がサポートされています。
ブラックリストに
example.comを追加すると、example.comと<any string>.example.comに一致します。ブラックリストに
a*b.example.comを追加すると、a<any string>b.example.comと<any string>.a<any string>b.example.comに一致します。
off
ignore_scheme
String
No
Referer ヘッダーのスキームを無視するかどうかを指定します。この機能が有効になっている場合、HTTP または HTTPS プロトコルを持たない Referer ヘッダーも有効と見なされます。例:
値が `on` の場合、Referer の形式は次のようになります:
referer: www.example.com値が `off` (デフォルト) の場合、Referer の形式は次のようになります:
referer: https://www.example.com
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "allow_empty", "argValue": "off" }, { "argName": "refer_domain_deny_list", "argValue": "example.aliyundoc.com,demo.aliyundoc.com" }], "functionName": "referer_black_list_set" }], "DomainNames": "example.com" }
aliauth
説明: URL 署名を設定します。詳細については、「URL 署名の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 25。
パラメーター:
パラメーター
タイプ
必須
説明
例
auth_m3u8
String
No
M3U8 ファイルのコンテンツを書き換えるかどうかを指定します。この機能は、M3U8 ファイル内の TS ファイルに署名情報を追加して、アクセス失敗を防ぎます。有効な値は `on` (デフォルト) と `off` です。
on
auth_type
String
Yes
署名タイプ。有効な値:
no_auth: 署名なし。
type_a: タイプ A 署名。
type_b: タイプ B 署名。
type_c: タイプ C 署名。
type_d: タイプ D 署名。
type_e: タイプ E 署名。
type_f: タイプ F 署名。
type_a
auth_key1
String
Yes
暗号化キー 1。キーは 16 ~ 128 文字の長さで、大文字、小文字、数字を含めることができます。
1234567890123456789
auth_key2
String
No
暗号化キー 2。キーは 16 ~ 128 文字の長さで、大文字、小文字、数字を含めることができます。
1234567890123456789
ali_auth_delta
Integer
No
署名付き URL の有効期間。デフォルト: 1800。単位: 秒。
1800
req_auth_ip_white
String
No
IP アドレスホワイトリスト。このリスト内の IP アドレスは署名の対象外です。
複数の IP アドレスを入力できます。コンマで区切ります。
192.168.0.1
req_auth_ip_acl_xfwd
String
No
ホワイトリストのクライアント IP アドレスを取得するメソッド。有効な値:
on: これはデフォルトモードです。このモードでは、X-Forwarded-For ヘッダーの左端の最初の IP アドレスがチェックされます。この IP アドレスはクライアントの送信元 IP アドレスです。
off: このモードでは、クライアントが CDN POP との接続を確立するために使用した IP アドレスがチェックされます。
all: 次の両方の IP アドレスがチェックされます:
X-Forwarded-For ヘッダーの左端の最初の IP アドレス。これはクライアントの送信元 IP アドレスです。
クライアントが CDN POP との接続を確立するために使用した IP アドレス。
all
sign_param
String
No
署名パラメーターの名前。このパラメーターは、`auth_type` が `type_f` に設定されている場合にのみ有効です。
sign
time_param
String
No
タイムスタンプパラメーターの名前。このパラメーターは、`auth_type` が `type_f` に設定されている場合にのみ有効です。
time
time_format
String
No
タイムスタンプ形式。このパラメーターは、`auth_type` が `type_f` に設定されている場合にのみ有効です。
dec: 10 進数
hex: 16 進数
hec
path_encoding
String
No
URL エンコーディングスイッチ。有効な値は `on` と `off` です。このパラメーターは、`auth_type` が `type_f` に設定されている場合にのみ有効です。
on
設定例:
タイプ A 署名
{ "Functions": [{ "functionArgs": [{ "argName": "auth_type", "argValue": "type_a" }, { "argName": "auth_key1", "argValue": "1234567890123456789" }, { "argName": "auth_key2", "argValue": "1234567890123456789" }, { "argName": "ali_auth_delta", "argValue": 1800 }, { "argName": "req_auth_ip_white", "argValue": "192.168.0.1" }, { "argName": "req_auth_ip_acl_xfwd", "argValue": "all" }], "functionName": "aliauth" }], "domainNames": "example.com" }タイプ F 署名
{ "Functions": [{ "functionArgs": [{ "argName": "auth_type", "argValue": "type_f" },{ "argName": "auth_key1", "argValue": "1234567890123456789" },{ "argName": "auth_key2", "argValue": "1234567890123456789" },{ "argName": "ali_auth_delta", "argValue": 1800 },{ "argName": "sign_param", "argValue": "sign" },{ "argName": "time_param", "argValue": "time", },{ "argName": "time_format", "argValue": "hec" },{ "argName": "path_encoding", "argValue": "on" }], "functionName": "aliauth" }], "domainNames": "example.com" }
cdn_remote_auth
説明: リモート認証を設定します。詳細については、「リモート認証の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 258。
パラメーター:
パラメーター
タイプ
必須
説明
例
enable
String
Yes
リモート認証を有効にするかどうかを指定します:
on: 有効。
off: 無効。
on
remote_auth_addr
String
Yes
認証サーバーのアドレス。形式:
https://cdn.aliyun.com/authまたはhttp://10.10.10.10/auth。https://example.aliyundoc.com/auth
remote_auth_method
String
Yes
リクエストメソッド。GET、POST、および HEAD がサポートされています。
get
remote_auth_type
String
Yes
認証が必要なファイルタイプ。`all` はすべてのファイルタイプを示します。複数のファイルタイプを指定するには、縦棒 (|) で区切ります。ファイルタイプは大文字と小文字を区別します。たとえば、`jpg` は `JPG` とは異なります。
all
remote_auth_reserve_args
String
Yes
リクエストで保持するパラメーター。複数のパラメーターを指定するには、縦棒 (|) で区切ります。パラメーターは大文字と小文字を区別しません。たとえば、`key` は `KEY` と同じです。
`all`: すべてのパラメーターを保持します。
`ali_delete_all_args`: すべての URL パラメーターを削除します。
all
remote_auth_custom_args
String
No
追加するカスタムパラメーター。複数のパラメーターを指定するには、縦棒 (|) で区切ります。パラメーターは大文字と小文字を区別します。たとえば、`key` は `KEY` とは異なります。
empty
remote_auth_reserve_header
String
Yes
保持するリクエストヘッダー。複数のヘッダーを指定するには、縦棒 (|) で区切ります。ヘッダーは大文字と小文字を区別しません。たとえば、`http_remote_addr` は `HTTP_Remote_Addr` と同じです。
`all`: すべてのリクエストヘッダーを保持します。
`ali_delete_all_headers`: すべてのリクエストヘッダーを削除します。
all
remote_auth_custom_header
String
No
追加するカスタムリクエストヘッダー。複数のヘッダーを指定するには、縦棒 (|) で区切ります。ヘッダーは大文字と小文字を区別しません。たとえば、`http_remote_addr` は `HTTP_Remote_Addr` と同じです。
empty
remote_auth_success_code
Integer
Yes
成功状態コード。これは、認証が成功した後に認証サーバーが CDN に返す状態コードです。例: 200。複数の状態コードを指定できます。コンマで区切ります。
200
remote_auth_fail_code
Integer
Yes
失敗状態コード。これは、認証が失敗した後に認証サーバーが CDN に返す状態コードです。例: 403。複数の状態コードを指定できます。コンマで区切ります。
403,404
remote_auth_other_code_act
String
No
認証サーバーが成功または失敗コード以外の状態コードを返した場合に CDN がユーザーリクエストに対して実行するアクション。有効な値:
pass (デフォルト): リクエストを許可します。
Reject: 拒否。
pass
remote_auth_fail_resp_code
Integer
Yes
認証が失敗した後に CDN がクライアントに返す応答状態コード。例: 403。
403
remote_auth_timeout
Integer
Yes
認証タイムアウト期間。単位: ms。最大値は 3000 です。
500
remote_auth_timeout_action
String
Yes
認証がタイムアウトした場合に実行するアクション。有効な値:
pass: CDN はユーザーリクエストを許可します。
reject: CDN は `remote_auth_fail_resp_code` をユーザーに返します。
pass
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "remote_auth_addr", "argValue": "https://example.aliyundoc.com/auth" }, { "argName": "remote_auth_method", "argValue": "get" }, { "argName": "remote_auth_type", "argValue": "all" }, { "argName": "remote_auth_reserve_args", "argValue": "all" }, { "argName": "remote_auth_custom_args", "argValue": "" }, { "argName": "remote_auth_reserve_header", "argValue": "all" }, { "argName": "remote_auth_custom_header", "argValue": "" }, { "argName": "remote_auth_success_code", "argValue": "200" }, { "argName": "remote_auth_fail_code", "argValue": "403" }, { "argName": "remote_auth_other_code_act", "argValue": "pass" }, { "argName": "remote_auth_fail_resp_code", "argValue": "403" }, { "argName": "remote_auth_timeout", "argValue": 500 }, { "argName": "remote_auth_timeout_action", "argValue": "pass" }], "functionName": "cdn_remote_auth" }], "DomainNames": "example.com" }
ip_allow_list_set
説明: IP アドレスホワイトリストを設定します。詳細については、「IP アドレスブラックリスト/ホワイトリストの設定」をご参照ください。
機能競合に関する注意: IP アドレスホワイトリスト機能と IP ブラックリスト機能 (機能: ip_black_list_set、機能 ID: 13) は相互排他です。これらの機能のいずれかがすでに設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされることに注意してください。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出すことができます。
機能 ID (FunctionID/FuncId): 69。
パラメーター:
パラメーター
タイプ
必須
説明
例
ip_list
String
Yes
IP アドレスリスト。複数の IP アドレスまたは CIDR ブロックはコンマ (,) で区切ります。
192.168.0.1/24
customize_response_status_code
String
No
カスタム応答状態コード。デフォルト値は空で、応答状態コードが 403 であることを示します。3 桁の数値を入力してカスタム応答状態コードを設定できます。
429
ip_acl_xfwd
String
No
X-Forwarded-For ヘッダーの IP アドレスを使用するかどうかを指定します。有効な値:
on (デフォルト): ユーザーリクエストの
x-forwarded-forヘッダーの左端の最初の IP アドレスを使用します。off:
接続の送信元 IP アドレスを使用します。all:
x-forwarded-forヘッダーの IP アドレスと接続の送信元 IP アドレスの両方を使用します。
all
ip_list_notes
String
No
IP アドレスリストのメモ。
192.x.x.1 (悪意のある)
192.x.x.2 (不正)
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "ip_list", "argValue": "192.168.0.1/24" }], "functionName": "ip_allow_list_set" }], "DomainNames": "example.com" }
ip_black_list_set
説明: IP ブラックリストを設定します。コンソールでの詳細な設定については、「IP ブラックリスト/ホワイトリストの設定」をご参照ください。
IP ブラックリスト機能と IP ホワイトリスト機能 (機能: ip_allow_list_set、機能 ID: 69) は相互排他です。これらの機能のいずれかがすでに設定されている場合、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされます。ドメイン名の指定された構成を削除するには、DeleteSpecificConfig API オペレーションを呼び出すことができます。
機能 ID (FunctionID/FuncId): 13。
パラメーター:
パラメーター
タイプ
必須
説明
例
ip_list
String
Yes
IP アドレスリスト。複数の IP アドレスまたは CIDR ブロックはコンマ (,) で区切ります。
192.168.0.1
customize_response_status_code
String
No
カスタム応答状態コード。デフォルト値は空で、応答状態コードが 403 であることを示します。3 桁の数値を入力してカスタム応答状態コードを設定できます。
429
ip_acl_xfwd
String
No
X-Forwarded-For ヘッダーの IP アドレスを使用するかどうかを指定します。有効な値:
on (デフォルト): ユーザーリクエストの
x-forwarded-forヘッダーの左端の最初の IP アドレスを使用します。off:
接続の送信元 IP アドレスを使用します。all:
x-forwarded-forヘッダーの IP アドレスと接続の送信元 IP アドレスの両方を使用します。
all
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "ip_list", "argValue": "192.168.0.1" }], "functionName": "ip_black_list_set" }], "DomainNames": "example.com" }
ali_ua
説明: User-Agent に基づいてアクセスを制限できます。詳細については、「UA ブラックリストとホワイトリストの設定」をご参照ください。
機能 ID (FunctionID/FuncId): 58。
パラメーター:
パラメーター
タイプ
必須
説明
例
ua
String
Yes
User-Agent 文字列。ワイルドカード文字 (*) は任意の文字列に一致するようにサポートされています。複数の値を指定するには、縦棒 (|) で区切ります。例:
*curl*|*IE*|*chrome*|*firefox*。*curl*|*IE*|*chrome*|*firefox*
type
String
Yes
リストのタイプ。有効な値:
black: ブラックリスト。
white: ホワイトリスト。
説明ブラックリストとホワイトリストは相互排他です。一度にアクティブにできるのは 1 つだけです。
black
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "ua", "argValue": "*curl*|*IE*|*chrome*|*firefox*" }, { "argName": "type", "argValue": "black" }], "functionName": "ali_ua" }], "DomainNames": "example.com" }
パフォーマンス最適化
tesla
説明: HTML 最適化を設定します。詳細については、「HTML 最適化」をご参照ください。
機能 ID (FunctionID/FuncId): 16。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
HTML 最適化を有効にするかどうかを指定します:
on: 機能を有効にします。
off: 機能を無効にします。
on
trim_js
String
No
HTML 内のインライン JavaScript (JS) コードを最適化するかどうかを指定します:
有効。
off (デフォルト): 最適化を無効にします。
off
trim_css
String
No
HTML 内のインラインカスケードスタイルシート (CSS) コードを最適化するかどうかを指定します:
on: 機能は有効です。
off (デフォルト): シャットダウン。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "trim_css", "argValue": "off" }, { "argName": "trim_js", "argValue": "off" }], "functionName": "tesla" }], "DomainNames": "example.com" }
gzip
説明: Gzip 圧縮を使用してページを最適化します。詳細については、「Gzip 圧縮」をご参照ください。
機能 ID (FunctionID/FuncId): 35。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
ページの Gzip 最適化を有効にするかどうかを指定します:
on: 機能を有効にします。
off: 機能を無効にします。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "gzip" }], "DomainNames": "example.com" }
brotli
説明: ページの Brotli 圧縮を設定します。詳細については、「Brotli 圧縮」をご参照ください。
機能 ID (FunctionID/FuncId): 97。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
ページの Brotli 圧縮を有効にするかどうかを指定します:
on: 機能を有効にします。
off: 機能を無効にします。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "brotli" }], "DomainNames": "example.com" }
set_hashkey_args
説明: 指定されたパラメーターのみを保持して URL パラメーターを無視する機能を設定します。詳細については、「パラメーターの無視」をご参照ください。
機能競合の説明: 指定されたパラメーターを保持して URL パラメーターを無視する機能は、指定されたパラメーターを削除して URL パラメーターを無視する機能 (機能: ali_remove_args、機能 ID: 75) と競合します。どちらか一方のみを有効にできます。いずれかの機能がすでに設定されている場合は、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされます。ドメイン名の特定の構成を削除するには、DeleteSpecificConfig オペレーションを呼び出します。
機能 ID (FunctionID/FuncId): 19。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
hashkey_args
String
No
保持するパラメーターのリスト。複数のパラメーターはコンマ (,) で区切ります。最大 10 個のパラメーターを指定できます。
key1,key2
disable
String
Yes
すべてのパラメーターを無視するかどうかを指定します:
on: すべてのパラメーターを無視します。パラメーターを削除、保持、または変更する機能は無効になります。パラメーターを追加する機能のみが有効になります。
off (デフォルト): パラメーターを無視する機能を無効にします。パラメーターを保持、追加、または削除する機能は有効のままです。
説明キャッシュキーのすべてのパラメーターを無視することは、指定されたキャッシュパラメーターのリストを保持することよりも優先度が低くなります。
on
keep_oss_args
String
Yes
オリジンフェッチリクエストのパラメーターを保持するかどうかを指定します:
on: オリジンフェッチリクエストのすべてのパラメーターを保持します。
off: オリジンフェッチリクエストのパラメーターは、キャッシュキーのパラメーターと同じです。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "hashkey_args", "argValue": "" }, { "argName": "keep_oss_args", "argValue": "on" }, { "argName": "disable", "argValue": "on" }], "functionName": "set_hashkey_args" }], "DomainNames": "example.com" }
ali_remove_args
説明: 指定されたパラメーターを削除して URL パラメーターを無視する機能を設定します。詳細については、「パラメーターの無視」をご参照ください。
機能競合の説明: 指定されたパラメーターを削除して URL パラメーターを無視する機能は、指定されたパラメーターを保持して URL パラメーターを無視する機能 (機能: set_hashkey_args、機能 ID: 19) と競合します。どちらか一方のみを有効にできます。いずれかの機能がすでに設定されている場合は、もう一方を設定する前にその構成を削除する必要があります。スイッチパラメーターが `off` に設定されている場合でも、機能は設定済みと見なされます。ドメイン名の特定の構成を削除するには、DeleteSpecificConfig オペレーションを呼び出します。
機能 ID (FunctionID/FuncId): 75。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
ali_remove_args
String
Yes
削除するパラメーター。複数のパラメーターはスペースで区切ります。
説明残りのパラメーターは、キャッシュキーの URL 引数として使用されます。
test
keep_oss_args
String
Yes
オリジンフェッチリクエストのパラメーターを保持するかどうかを指定します:
on: オリジンフェッチリクエストのすべてのパラメーターを保持します。
off: オリジンフェッチリクエストのパラメーターは、キャッシュキーのパラメーターと同じです。
off
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "ali_remove_args", "argValue": "test" }, { "argName": "keep_oss_args", "argValue": "off" }], "functionName": "ali_remove_args" }], "DomainNames": "example.com" }
image_transform
説明: Alibaba Cloud CDN の画像処理を設定します。詳細については、「画像処理の概要」をご参照ください。
機能 ID (FunctionID/FuncId): 239。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
画像処理を有効にするかどうかを指定します:
on: 機能を有効にします。
off: 機能を無効にします。
on
filetype
String
Yes
トランスコーディングをサポートする画像形式。複数の形式は縦棒 (|) で区切ります。次の値がサポートされています:
JPEG: JPEG 画像形式。
JPG: JPG 画像形式。
PNG: PNG 画像形式。
WEBP: WEBP 画像形式。
BMP: BMP 画像形式。
GIF: GIF 画像形式。
TIFF: TIFF 画像形式。
JP2: JPEG 2000 画像形式。
jpg|jpeg|png
webp
String
No
WebP への自動変換を有効にするかどうかを指定します:
on: 機能を有効にします。
off: 機能を無効にします。
on
orient
String
No
自動画像回転を有効にするかどうかを指定します:
on: 機能を有効にします。
off: 機能を無効にします。
説明この機能は、回転プロパティを持つ画像にのみ有効です。
on
slim
Integer
No
画像のスリム化。スリム化のパーセンテージを設定します。値は 0 から 100 までの整数にすることができます。この機能は、解像度、ディメンション、または形式を変更せずに画質を低下させてトラフィックを節約します。
10
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "filetype", "argValue": "jpg|jpeg|png" }, { "argName": "webp", "argValue": "on" }, { "argName": "orient", "argValue": "on" }, { "argName": "slim", "argValue": "" }, { "argName": "enable", "argValue": "on" }], "functionName": "image_transform" }], "DomainNames": "example.com" }
動画機能
range
説明: レンジ back-to-origin を設定します。詳細な手順については、「レンジ back-to-origin の設定」をご参照ください。
機能 ID (FunctionID または FuncId): 31。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
レンジ back-to-origin を有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
force: 機能を強制的に有効にします。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "range" }], "DomainNames": "example.com" }
video_seek
説明: この機能により、シーク再生を設定できます。詳細については、「シーク再生の設定」をご参照ください。
機能 ID (FunctionID または FuncId): 30。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
シーク再生を有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
on
flv_seek_by_time
String
No
FLV ファイルのシークを時間で有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
on
mp4_seek_start
String
No
MP4 ファイルのカスタム開始パラメーター。
mp4starttime
mp4_seek_end
String
No
MP4 ファイルのカスタム終了パラメーター。
mp4endtime
flv_seek_start
String
No
FLV ファイルのカスタム開始パラメーター。
flvstarttime
flv_seek_end
String
No
FLV ファイルのカスタム終了パラメーター。
flvendtime
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "video_seek" }], "DomainNames": "example.com" }
ali_video_split
説明: 音声・動画リスニング機能を設定します。詳細については、「音声・動画リスニングの設定」をご参照ください。
機能 ID (FunctionID または FuncId): 204。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
音声のみのストリーミングを有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
on
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "ali_video_split" }], "DomainNames": "example.com" }
ali_video_preview
音声・動画プレビューを設定できます。詳細については、「音声・動画プレビューの設定」をご参照ください。
機能 ID (FunctionID または FuncId): 205。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
音声・動画プレビューを有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
説明この機能は TS および MP3 ファイル形式をサポートしています。FLV および MP4 ファイルの場合は、シーク再生機能を使用してください。
on
ali_video_preview_argument
String
Yes
プレビュー期間のカスタムパラメーター名。このパラメーターの値は秒単位である必要があります。
fds
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "ali_video_preview_argument", "argValue": "fds" }], "functionName": "ali_video_preview" }], "DomainNames": "example.com" }
hls_token_rewrite
説明: M3U8 暗号化と書き換えを設定します。詳細については、「M3U8 暗号化と書き換えの設定」をご参照ください。
機能 ID (FunctionID または FuncId): 253。
パラメーターの説明:
パラメーター
タイプ
必須
説明
値の例
enable
String
Yes
M3U8 暗号化と書き換えを有効にするかどうかを指定します。
on: 機能を有効にします。
off: 機能を無効にします。
on
hls_token_arg_name
String
No
HLS トークンのカスタムパラメーター名。このパラメーターを設定しない場合、`MtsHlsUriToken` がパラメーター名として使用されます。
example
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "hls_token_rewrite" }], "DomainNames": "example.com", }
レート制限
limit_rate
説明: 単一リクエストのレート制限を設定します。
FuncId: 72。
説明
ali_limit_rate を設定して、リクエスト URL のパラメーターに基づいてリクエストレートを制限し、レート制限の開始時刻と終了時刻を設定できます。
traffic_limit_arg と traffic_limit_unit パラメーターを組み合わせて、リクエスト URL パラメーターのレート制限を実装できます。
ali_limit_start_hour と ali_limit_end_hour パラメーターで速度制限の開始時刻と終了時刻を設定できます。
パラメーター
タイプ
必須
説明
例
ali_limit_rate
String
Yes
単一リクエストのレート制限 (Byte/s)。たとえば、200 KByte/s または 1 MByte/s。値は数値の後に単位 (k または m) が続きます。
最小値は 100k です。100k 未満の値は 100k として扱われます。
1m: 単一リクエストのレート制限は 1 MByte/s です。
100k: 単一リクエストのレート制限は 100 KByte/s です。
ali_limit_rate_after
String
No
レート制限が適用される前に送信するデータの量 (バイト)。このパラメーターは、数値の後に単位 (k または m) が続く形式をサポートします。
1000
traffic_limit_arg
String
No
リクエスト URL から取得するレート制限パラメーターの名前 (rate など)。
リクエストにこのパラメーターが含まれていない場合、ali_limit_rate で指定されたデフォルトのレート制限が適用されます。リクエストにこのパラメーターがない場合にレート制限を無効にするには、ali_limit_rate を 0k に設定します。
rate
traffic_limit_unit
String
No
traffic_limit_arg パラメーターの単位。有効な値は m (MByte/s) と k (KByte/s) です。たとえば、このパラメーターを m に設定し、リクエスト URL に rate=1 が含まれている場合、レート制限は 1 MByte/s になります。
最小レート制限は 100k です。計算されたレートが 100k 未満の場合、システムは 100k を使用します。
m
ali_limit_start_hour
Integer
No
レート制限が開始する時間。値は 0 から 24 までの整数で、終了時刻より小さくなければなりません。デフォルト値は 0 です。
説明値は 24 時間形式の時刻を表します。たとえば、0 は 00:00:00 を表し、24 は 24:00:00 を表します。
20
ali_limit_end_hour
Integer
No
レート制限が終了する時間。値は 0 から 24 までの整数で、開始時刻より大きくなければなりません。デフォルト値は 24 です。
23
例 1: 単一リクエストのレート制限を 1 MB/s に設定します。
{ "Functions": [{ "functionArgs": [{ "argName": "ali_limit_rate", "argValue": "1m" }], "functionName": "limit_rate" }], "DomainNames": "example.com" }例 2: 単一リクエストのデフォルトのレート制限を 1 MB/s に設定します。リクエスト URL に `rate` パラメーターが含まれている場合、その値がレート制限に使用されます。たとえば、リクエストに `rate=200` が含まれている場合、レート制限は 200 KB/s になります。
{ "Functions": [{ "functionArgs": [{ "argName": "ali_limit_rate", "argValue": "1m" },{ "argName": "traffic_limit_arg", "argValue": "rate" },{ "argName": "traffic_limit_unit", "argValue": "k" }], "functionName": "limit_rate" }], "DomainNames": "example.com" }
EdgeScript/Edge Routine
edge_function
説明: EdgeScript。詳細については、「EdgeScript の概要」をご参照ください。
機能 ID (FunctionID/FuncId): 180。
パラメーターの説明:
パラメーター
タイプ
必須
説明
例
rule
String
Yes
DSL ルール。
if eq($uri, '/') {\n rewrite('https://example.com/index.html', 'redirect')\n}
pri
Integer
Yes
優先度。有効な値: [0, 999]。値が小さいほど優先度が高くなります。
説明先頭と末尾の位置のルールの優先度は独立しています。
0
enable
String
Yes
ルールが有効かどうかを指定します。
on: ルールは有効です。
off: 機能を無効にします。
on
name
String
Yes
ルール名。名前には文字とアンダースコア (_) のみを含めることができます。
test
pos
String
No
ルールが実行される位置。有効な値:
head (デフォルト): ルールはリクエスト処理フローの開始時に実行されます。
foot: ルールはリクエスト処理フローの終了時に実行されます。
head
brk
String
No
後続のルールの実行を停止するかどうかを指定します。有効な値:
on: このルールにヒットした場合、現在の実行位置の後続のすべてのルールはスキップされます。
off (デフォルト): このルールにヒットした場合でも、後続のルールは実行されます。
off
option
String
No
拡張フィールド。
Empty
grammar
String
No
ルール構文。有効な値: es2 (デフォルト) と js。
/
jsmode
String
No
JavaScript (JS) 実行モード。有効な値:
redirect: ブロックモード。
bypass (デフォルト): バイパスモード。
/
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "name", "argValue": "test" }, { "argName": "rule", "argValue": "if eq($uri, '/') {\n rewrite('https://example.com/index.html', 'redirect')\n}" }, { "argName": "pri", "argValue": "0" }, { "argName": "pos", "argValue": "head" }, { "argName": "enable", "argValue": "on" }, { "argName": "brk", "argValue": "off" }, { "argName": "option", "argValue": "" }], "functionName": "edge_function" }], "DomainName": "example.com" }
Edge Routine
edgeroutine
説明: Edge Routine。詳細については、「Edge Routine とは」をご参照ください。
機能 ID (FunctionID/FuncId): 275。
この機能はリクエストに応じて利用可能です。この機能をリクエストするには、チケットを送信してください。
ルールエンジン
condition
説明: ルールエンジンは、グラフィカルインターフェイスを通じてさまざまな条件付きルールを設定できる機能です。条件付きルールは、ユーザーリクエスト内のパラメーターを検出して、特定のリクエストに構成が適用されるかどうかを判断します。これにより、Alibaba Cloud Content Delivery Network (CDN) 構成ポリシーの実行方法をより柔軟かつ正確に制御できます。この機能の詳細については、「ルールエンジン」をご参照ください。
機能 ID (FunctionID/FuncId): 250。
この機能はリクエストに応じて利用可能です。有効化するには、チケットを送信してください。
パラメーターの説明:
パラメーター
タイプ
必須
説明
例
rule
Array
Yes
ルール条件の詳細。これには、名前、ステータス、論理演算子、および条件式が含まれます。
ルール条件:
{\"match\":{\"logic\":\"and\",\"criteria\":[{\"matchType\":\"clientipVer\",\"matchObject\":\"CONNECTING_IP\",\"matchOperator\":\"equals\",\"matchValue\":\"v6\",\"negate\":false}]},\"name\":\"example\",\"status\":\"enable\"}結果:
ルール名: example
ステータス: 有効
論理演算子: and
条件式: クライアントの接続 IP アドレスのプロトコルバージョンは v6 です。
条件式 ( `argValue` 形式) の形式は次のように説明されます:
パラメーター
説明
\"match\":
`match` は条件付きマッチング式を示します。
\"logic\":\"and\"
`logic` は条件付きマッチング式の論理演算子です。有効な値は `and` と `or` です。
\"criteria\"
`criteria` は条件式のコンテンツを指定します。
\"matchType\":\"clientipVer\"
`matchType` は、一致させるユーザーリクエスト内の情報のタイプを指定します。
\"matchObject\":\"CONNECTING_IP\"
`matchObject` はマッチタイプをさらに絞り込みます。たとえば、クライアント IP アドレスは「接続 IP」または「X-Forwarded-For (XFF) IP」にすることができます。
\"matchOperator\":\"equals\"
`matchOperator` は、マッチ操作に対して実行するアクションを指定します。
\"matchValue\":\"v6\"
`matchValue` は、ユーザーリクエスト内の情報と照合するための事前設定値です。
\"negate\":false
`negate` は、条件式の結果を否定するかどうかを指定します。有効な値は `true` と `false` です。
\"name\":\"example\"
`name` はルール条件の名前です。
\"status\":\"enable\"
`status` はルール条件のアクティブなステータスです。
設定例:
次の例は、OpenAPI を使用して、高速化ドメイン名
example.comのルールエンジン構成を追加する方法を示しています。この構成は、クライアント IP プロトコルバージョンが IPv6 であるかどうかに基づいてリクエストを照合およびフィルター処理します。ルールエンジン機能の詳細な説明については、「ルールエンジン をご参照ください。{ "Functions": [{ "functionArgs": [{ "argName": "rule", "argValue": "{\"match\":{\"logic\":\"and\",\"criteria\":[{\"matchType\":\"clientipVer\",\"matchObject\":\"CONNECTING_IP\",\"matchOperator\":\"equals\",\"matchValue\":\"v6\",\"negate\":false}]},\"name\":\"example\",\"status\":\"enable\"}" }], "functionName": "condition" }], "DomainNames": "example.com" }ルールエンジン構成を作成した後、他の機能構成と関連付けることができます。現在、ルールエンジン構成を参照できる機能のリストについては、「ルールエンジン」をご参照ください。これにより、CDN 構成ポリシーの実行方法をより柔軟かつ正確に制御できます。たとえば、条件付きオリジン機能 (機能: `origin_dns_host`) の構成は、ルールエンジン構成を参照できます。構成例については、「origin_dns_host」をご参照ください。
注:
他の機能からルール条件を参照するには、`parentId` パラメーターをそのルール条件の `configid` に設定します。`configid` は、ルール条件を作成したときに生成されます。
`parentId` パラメーターは、機能が `condition` (ルールエンジン) の場合にサポートされていません。
セキュリティ設定
ali_location
機能: ロケーションブラックリスト。詳細については、「地域ベースのブラックリスト」をご参照ください。
FuncId: 57。
パラメーター:
パラメーター
タイプ
必須
説明
サンプル値
location
String
Yes
ブロックポリシーが適用されるエリア。値は次のいずれかの形式で指定できます:
ISO 3166 標準に準拠した 2 文字の大文字の国別コード。複数の国を指定する場合は、コードをスペースで区切ります。
リージョンを global に設定できます。
global
type
String
Yes
ブロックポリシーのタイプ。有効な値:
black: 指定されたエリアからのクライアント IP アドレスをブロックします。
white: 指定されたエリア外からのクライアント IP アドレスをブロックします。
white
設定例:
{ "Functions": [{ "functionArgs": [{ "argName": "location", "argValue": "global" }, { "argName": "type", "argValue": "white" }], "functionName": "ali_location" }], "DomainNames": "example.com" }
QUIC
iquic
説明: 基本的な QUIC パラメーターを設定します。詳細については、「QUIC の設定」をご参照ください。
機能 ID (FunctionID/FuncId): 281。
パラメーターの説明:
パラメーター
タイプ
必須
説明
例の値
iquic_enable
String
Yes
QUIC プロトコルを有効にするかどうかを指定します:
on: プロトコルを有効にします。
off: シャットダウン。
on設定例
{ "Functions": [{ "functionArgs": [{ "argName": "iquic_enable", "argValue": "on" }], "functionName": "iquic" }], "DomainNames": "example.com" }