このトピックでは、`BatchSetCdnDomainConfig` または `SetCdnDomainStagingConfig` 操作を呼び出してドメイン名の特徴を設定する際に設定できる特徴とパラメーターについて説明します。各特徴は関数名と数値の関数 ID で識別され、リクエストボディの `Functions` 配列の要素として渡されます。
リクエストの構造
BatchSetCdnDomainConfig (本番環境) または SetCdnDomainStagingConfig (ステージング環境) を呼び出してドメイン名の機能を設定する場合、リクエストボディには Functions 配列が含まれており、その各要素は functionName と、キーと値のペア (argName と argValue) として 1 つ以上の functionArgs を指定します。
{
"Functions": [{
"functionArgs": [{
"argName": "<parameter-name>",
"argValue": "<parameter-value>"
}],
"functionName": "<feature-name>"
}],
"DomainNames": "example.com"
}このトピックで説明されている特徴は、以下の操作から参照できます:- 本番環境:BatchSetCdnDomainConfig、DescribeCdnDomainConfigs、BatchDeleteCdnDomainConfig、および DescribeCdnUserDomainsByFunc。
ステージング環境:SetCdnDomainStagingConfig、DescribeCdnDomainStagingConfig、RollbackStagingConfig、および PublishStagingConfigToProduction。
BatchSetCdnDomainConfig または SetCdnDomainStagingConfig を呼び出すと、構成に対して一意の ConfigId が生成されます。ConfigId を使用して構成を更新または削除できます。詳細については、「ConfigId の使用上の注意」をご参照ください。- 一部の特徴は互いに競合します。競合するペアからは、同時に 1 つの特徴のみ構成できます。競合するペアは、以下の対応する特徴のセクションに記載されています。
ネットワーク設定
ipv6
説明:IPv6 アクセスを設定します。
関数 ID:194
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
switch | String | はい | IPv6 アクセスを有効にするかどうかを指定します。有効な値: | on |
region | String | はい | IPv6 を有効にするリージョン。すべてのリージョンを指定する場合は、アスタリスク ( | * |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "switch",
"argValue": "on"
}, {
"argName": "region",
"argValue": "*"
}],
"functionName": "ipv6"
}],
"DomainNames": "example.com"
}オリジン設定
set_req_host_header
説明:デフォルトの back-to-origin ホストを設定します。
関数 ID:18
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
domain_name | String | はい | back-to-origin ホストヘッダーの内容。 | example.com |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "domain_name",
"argValue": "example.com"
}],
"functionName": "set_req_host_header"
}],
"DomainNames": "example.com"
}forward_scheme
説明:オリジンプロトコルを設定します。
関数 ID:47
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | オリジンプロトコル機能を有効にするかどうかを指定します。有効値: | on |
scheme_origin | String | いいえ | オリジンフェッチのプロトコルスキームです。有効な値: | follow |
scheme_origin_port | String | いいえ | カスタムオリジンポート。 | 80:443 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "scheme_origin",
"argValue": "follow"
}, {
"argName": "scheme_origin_port",
"argValue": "80:443"
}],
"functionName": "forward_scheme"
}],
"DomainNames": "example.com"
}l2_oss_key
説明:プライベート OSS バケットの back-to-origin を設定します。この機能を初めて使用する場合、デフォルトの権限ポリシーを有効にする必要があります。これにより、CDN は同じ Alibaba Cloud アカウント下のすべての OSS バケットへの読み取り専用アクセス権を取得します。
関数 ID:85
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
private_oss_auth | String | はい | 非公開 OSS バケットの back-to-origin を有効にするかどうかを指定します。 有効な値: | on |
perm_private_oss_tbl | String | いいえ | 永続的なセキュリティトークンの設定。フォーマット:access_id=123 access_secret=123abc (スペースで区切る)。設定すると、他の Alibaba Cloud アカウント下の OSS プライベートバケットへの CDN ドメインの back-to-origin もサポートされます。 | 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:183
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
host | String | はい | OSS バケットの完全なアドレス。 | example.oss-cn-hangzhou.aliyuncs.com |
key | String | はい | 永続的なセキュリティトークンの設定。フォーマット:access_id=123 access_secret=123abc (スペースで区切る)。 | 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 (Server Name Indication) を設定します。
関数 ID:114
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enabled | String | はい | オリジン SNI を有効にするかどうかを指定します。有効な値: | on |
https_origin_sni | String | はい | オリジンリクエストに含まれる 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
説明:オリジンリクエストのタイムアウトを設定します。
関数 ID:124
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
forward_timeout | Integer | はい | リクエストのタイムアウト (秒)。100 秒未満の値を設定することを推奨します。 | 30 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "forward_timeout",
"argValue": "30"
}],
"functionName": "forward_timeout"
}],
"DomainNames": "example.com"
}advanced_origin
説明:高度な back-to-origin を設定します。ユーザーリクエストの変数 (URI、ヘッダー、クエリパラメーター、Cookie など) に基づいて、リクエストを異なるオリジンサーバーにルーティングします。
関数 ID:235
競合:
origin_dns_host(機能 ID: 212) と競合します。どちらか一方しか設定できません。いずれかの機能がすでに設定されている場合 (スイッチパラメーターがオフに設定されている場合も含む)、もう一方の機能を設定する前に既存の設定を削除する必要があります。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
variable_type | String | はい | 変数のタイプ。有効な値: | uri |
variable | String | はい | 変数名。variable_type が uri に設定されている場合、変数は uri に設定する必要があります。 | uri |
conditions | String | はい | 条件演算子。有効な値:== (等しい)、!= (等しくない)。 | == |
value | String | はい | 一致させる変数の値。 | /image |
origin | String | はい | 変数が指定された値と一致する場合に使用するオリジンサーバーのドメイン名。 | 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 リダイレクト追跡を設定します。
関数 ID:219
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | オリジンの 302 リダイレクトフォローを有効にするかどうかを指定します。有効な値: | on |
max_tries | Integer | いいえ | 追跡する 302 リダイレクトの最大数。デフォルト値:2。有効な値:1-5。実際のオリジンリクエストの最大数は max_tries + 1 です。 | 2 |
retain_args | String | いいえ | 302 リダイレクトのフォロー時に、元のリクエストパラメーターを保持するかどうかを指定します。有効な値: | off |
retain_header | String | いいえ | 302 リダイレクトをフォローする際に、元のリクエストヘッダーを保持するかどうかを指定します。有効な値: | off |
response_header | String | いいえ | 302 リダイレクトのレスポンスヘッダー名。デフォルト値:Location。 | X-Alicdn-Redirect |
retain_host | String | いいえ | 302 リダイレクトをフォローする際に back-to-origin ホストを保持するかどうかを指定します。有効な値: | off |
modify_host | String | いいえ | 302 リダイレクトを追跡する際に back-to-origin ホストを変更します。デフォルトでは、back-to-origin ホストは変更されません。 | example.com |
cache | String | いいえ | CDN の応答パフォーマンスを向上させるために、同じ URL の 302 リダイレクト結果をキャッシュするかどうかを指定します。有効な値: | off |
expired_time | Integer | いいえ | 302 リダイレクト結果のキャッシュ有効期限 (秒)。cache パラメーターと一緒に使用する必要があります。デフォルト値:3600。 | 7200 |
follow_origin_host | String | いいえ | オリジンサーバーのドメイン名を back-to-origin ホストとして使用するかどうかを指定します (プライマリ/スタンバイの切り替え後も最新のオリジンドメインが使用されます)。有効な値: | off |
follow_5xx_retry_origin | String | いいえ | 現在のオリジンから 5xx 状態コードが返された場合に、次に利用可能なオリジンサーバーに切り替えるかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "max_tries",
"argValue": "2"
}, {
"argName": "retain_args",
"argValue": "off"
}, {
"argName": "retain_header",
"argValue": "off"
}],
"functionName": "follow_302"
}],
"DomainNames": "example.com"
}set_req_header
説明: カスタムオリジン HTTP リクエストヘッダー (v1) を設定します。より多くの機能に対応している v2 バージョンである
origin_request_headerの使用を推奨します。関数 ID:39
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
key | String | はい | オリジンリクエストヘッダー名。 | Accept-Encoding |
value | String | はい | オリジンリクエストヘッダーの値。ヘッダーを削除するには、値を null に設定します。 | gzip |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "value",
"argValue": "gzip"
}, {
"argName": "key",
"argValue": "Accept-Encoding"
}],
"functionName": "set_req_header"
}],
"DomainNames": "example.com"
}origin_request_header
説明:カスタムオリジン HTTP リクエストヘッダー (v2) を設定します。追加、削除、変更、書き換え操作をサポートします。
関数 ID:228
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
header_operation_type | String | はい | ヘッダーの操作タイプです。有効な値: | add |
header_name | String | はい | リクエストヘッダー名。 | Accept-Encoding |
header_value | String | いいえ | リクエストヘッダーの値。複数の値はカンマ (,) で区切ることができます。 | gzip |
duplicate | String | いいえ | add 操作を使用する場合に、同じ名前のヘッダーの重複を許可するかどうかを指定します。有効な値: | off |
header_source | String | いいえ | 置換対象の値を検索します (rewrite 操作を使用する場合)。正規表現をサポートします。 | value1 |
header_destination | String | いいえ | 置換後の値 (rewrite 操作を使用する場合)。 | value123 |
match_all | String | いいえ | 書き換え操作を使用する場合の一致モード。 有効値: | off |
例:
{
"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:229
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
header_operation_type | String | はい | レスポンスヘッダーの操作タイプです。有効値は | add |
header_name | String | はい | レスポンスヘッダー名。 | Cache-Control |
header_value | String | いいえ | レスポンスヘッダーの値。複数の値はカンマ (,) で区切ることができます。 | no-cache |
duplicate | String | いいえ | add 操作を使用する場合に、同じ名前の重複ヘッダーを許可するかどうかを指定します。 有効な値: | off |
header_source | String | いいえ | 置換対象の値を検索します (rewrite 操作を使用する場合)。正規表現をサポートします。 | value1 |
header_destination | String | いいえ | 置換後の値 (rewrite 操作を使用する場合)。 | value123 |
match_all | String | いいえ | 書き換え操作時の照合モード。有効な値: | 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 書き換えを設定します。
関数 ID:225
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
source_url | String | はい | 書き換え対象の URI。 | ^/hello$ |
target_url | String | はい | 書き換え後のターゲット URI。 | /hello/test |
flag | String | いいえ | 書き換え操作の実行ルール。有効な値:(空、デフォルト) 実行後、後続の書き換えルールに一致し続けます。break:実行後、後続のルールの一致を停止します。enhance_break:break に似ていますが、パラメーターをまとめて処理し、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 のクエリパラメーターを書き換えます。複数の書き換えルールの設定をサポートします。操作の優先度:add > delete > keep > modify。
関数 ID:224
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
delete_argument | String | いいえ | 削除する引数。スペースで区切ります。 | code1 |
save_argument | String | いいえ | 保持する引数。スペースで区切ります。リストされた引数のみが保持されます。追加および削除操作は引き続き有効です。 | (empty) |
ignore_all_argument | String | いいえ | すべての引数を無視するかどうかを指定します。有効な値: | on |
add_argument | String | いいえ | 追加する引数 (最高優先度)。スペースで区切ります。 | value=123 |
modify_argument | String | いいえ | 変更する引数 (最低優先度)。スペースで区切ります。引数が削除された場合、保持されません。 | value=321 |
enable | String | はい | オリジン引数の書き換えを有効にするかどうかを指定します。有効な値は | 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 認証済みバケットの back-to-origin を設定します。
関数 ID:186
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enabled | String | はい | Amazon S3 認証バケットを有効にするかどうかを指定します。有効な値: | l2 |
bucketname | String | いいえ | Amazon S3 バケット名。 | / |
accesskey | String | はい | AWS AccessKey。 | 123456789 |
secretkey | String | はい | AWS シークレットキー。 | 12345678 |
region | String | はい | 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:223
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enabled | String | はい | オリジン証明書の検証を有効にするかどうかを指定します。有効な値は | on |
common_name_whitelist | String | いいえ | 証明書ホワイトリストのドメイン名。カンマ (,) で区切ります。これらのホワイトリストに登録されたドメインに一致する証明書は検証に合格します。 | 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 つのルールエンジン条件を作成する必要があります。
関数 ID:212
競合:
advanced_origin(機能 ID: 235) と競合します。いずれか一方のみ構成できます。一方の機能がすでに構成されている場合 (そのスイッチパラメーターが off に設定されている場合を含む)、もう一方を構成する前に、既存の構成を削除する必要があります。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ali_origin_dns_host | String | はい | オリジン DNS 解決に使用されるドメイン名。 | example.com |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "ali_origin_dns_host",
"argValue": "example.com"
}],
"functionName": "origin_dns_host",
"parentId": 30119730104
}],
"DomainNames": "example.com"
}origin_host
説明:指定されたオリジンサーバーの back-to-origin ホストを設定します。
関数 ID:242
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
origin | String | はい | オリジンサーバーのアドレス。すべてのオリジンサーバーに適用するには all に設定します。 | example.com |
host | String | はい | ホストヘッダーの値。オリジンサーバーのアドレスをホスト値として使用するには ali_follow_origin に設定します。 | host.example.com |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "origin",
"argValue": "example.com"
}, {
"argName": "host",
"argValue": "host.example.com"
}],
"functionName": "origin_host"
}],
"DomainNames": "example.com"
}ali_origin_port_scheme
説明:オリジンポートとプロトコルを設定します。
関数 ID:276
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
port | String | はい | オリジンポート。scheme が follow に設定されている場合、http:80|https:443 の形式を使用します。 | 80 |
scheme | String | はい | オリジンプロトコル。有効な値: | http |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "port",
"argValue": "80"
}, {
"argName": "scheme",
"argValue": "http"
}],
"functionName": "ali_origin_port_scheme"
}],
"DomainNames": "example.com"
}origin_sni
説明:指定されたオリジンサーバーのオリジン SNI を設定します。
関数 ID:262
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
origin | String | はい | オリジンサーバーのアドレス。すべてのオリジンサーバーに適用するには all に設定します。 | example.com |
sni_host | String | はい | SNI ホスト値。固定値、ali_follow_origin (オリジンサーバーのアドレスに従う)、または ali_follow_host (back-to-origin ホストに従う) を指定できます。 | example.org |
keepalive_sni | String | いいえ | キープアライブ SNI マッチングを有効にするかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "origin",
"argValue": "origin.example.com"
}, {
"argName": "sni_host",
"argValue": "host.example.com"
}],
"functionName": "origin_sni"
}],
"DomainNames": "example.com"
}source_group
説明:オリジンサーバーグループを設定します。
関数 ID:294
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
source_group_name | String | はい | オリジンサーバーグループ名。小文字、数字、アンダースコアをサポートします。最大長:128 バイト。 | example_origin |
source_info | String | はい | オリジンサーバー情報。フォーマット:address_priority_weight_port。複数のオリジンサーバーはカンマ (,) で区切ります。優先度:1-65535 (値が小さいほど優先度が高い)。重み:1-100。ポート:1-65535。 | 192.168.0.1_10_33_80,192.0.2.1_10_67_80 |
retry_times | Integer | いいえ | オリジンのリトライ試行回数。 | 3 |
retry_status_rule | Integer | いいえ | リトライするステータスコード。サポートされる値:4xx、5xx、404、404-or-5xx、4xx-or-5xx。 | 404-or-5xx |
failback_source | String | いいえ | グループ内のすべてのサーバーが利用できない場合に、基本オリジンサーバー構成にフォールバックするかどうかを指定します。有効な値: | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "source_group_name",
"argValue": "test_origin"
}, {
"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-or-5xx"
}, {
"argName": "failback_source",
"argValue": "on"
}],
"functionName": "source_group"
}],
"DomainNames": "example.com"
}ipv6_origin
説明:IPv6 back-to-origin を設定します。
関数 ID:265
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | IPv6 back-to-origin を有効にするかどうかを指定します。有効な値: | on |
follow | String | はい | バックトゥオリジンの際にクライアント IP プロトコルバージョンをフォローするかどうかを指定します。有効な値: | on |
ipv6_v4_mix_used | String | いいえ | IPv4/IPv6 ラウンドロビン方式のバックツーオリジンを有効にするかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "follow",
"argValue": "on"
}],
"functionName": "ipv6_origin"
}],
"DomainNames": "example.com"
}cos_auth
説明:Tencent Cloud COS 認証済みバケットの back-to-origin を設定します。
関数 ID:288
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | Tencent Cloud COS 認証バケットを有効にするかどうかを指定します。有効な値: | on |
cos_valid_period | String | いいえ | 認証署名の有効期間 (秒)。デフォルト値:3600。 | 3600 |
cos_secret_id | String | はい | Tencent Cloud 認証 ID。 | 123456789 |
cos_secret_key | String | はい | 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 が back-to-origin に使用する OSS 認証バケット情報を設定します。この設定は、高速化ドメイン名に OSS タイプのオリジンサーバーを設定すると自動的に追加されます。CDN back-to-origin トラフィックの課金問題やプライベートバケットアクセスの認証失敗を引き起こす可能性があるため、この設定を手動で削除しないでください。
関数 ID:10
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
oss_bucket_id | String | はい | OSS バケットのパブリックエンドポイント。 | cdn-test.oss-cn-hongkong.aliyuncs.com |
oss_pri_buckets | String | はい | OSS バケットのパブリックエンドポイントとそれに対応するバケット名。パイプ (|) で区切ります。 | cdn-test.oss-cn-hongkong.aliyuncs.com|cdn-test |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "oss_bucket_id",
"argValue": "cdn-test.oss-cn-hongkong.aliyuncs.com"
}, {
"argName": "oss_pri_buckets",
"argValue": "cdn-test.oss-cn-hongkong.aliyuncs.com|cdn-test"
}],
"functionName": "oss_auth"
}],
"DomainNames": "example.com"
}アクセス制御
referer_white_list_set
説明:Referer ホワイトリストを設定します。
関数 ID:1
競合:
referer_black_list_set(機能 ID: 5) と競合します。いずれか一方のみ設定できます。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
refer_domain_allow_list | String | はい | Referer ドメインのホワイトリストをカンマ ( | example.aliyundoc.com,demo.aliyundoc.com |
allow_empty | String | いいえ | 空のリファラーを許可するかどうかを指定します。有効な値: | off |
redirect_url | String | いいえ | 一致しないリクエスト用のリダイレクト URL ( | http://www.example.com |
disable_ast | String | いいえ | 完全一致モード。有効な値: | off |
ignore_scheme | String | いいえ | Referer 内の HTTP または HTTPS スキームを無視するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"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 ブラックリストを設定します。
関数 ID:5
競合:
referer_white_list_set(機能 ID: 1) と競合します。いずれか一方のみ設定可能です。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
refer_domain_deny_list | String | はい | カンマ ( | example.aliyundoc.com,demo.aliyundoc.com |
allow_empty | String | いいえ | 空のリファラーを許可するかどうかを指定します。有効な値: | off |
redirect_url | String | いいえ | 一致したリクエストのリダイレクト URL。 | http://www.example.com |
disable_ast | String | いいえ | 完全一致モード。有効な値: | off |
ignore_scheme | String | いいえ | Referer の HTTP または HTTPS スキームを無視するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "refer_domain_deny_list",
"argValue": "example.aliyundoc.com,demo.aliyundoc.com"
}],
"functionName": "referer_black_list_set"
}],
"DomainNames": "example.com"
}ip_allow_list_set
説明:IP ホワイトリストを設定します。
関数 ID:69
競合:
ip_black_list_set(機能 ID: 13) と競合します。いずれか一方のみ設定できます。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ip_list | String | はい | カンマ ( | 192.168.0.1/24 |
customize_response_status_code | String | いいえ | カスタム応答状態コード。デフォルト値は | 429 |
ip_acl_xfwd | String | いいえ | IP マッチングモード。有効な値: | all |
ip_list_notes | String | いいえ | IP リストの注釈。 | 192.x.x.1 (悪意のある IP) |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "ip_list",
"argValue": "192.168.0.1/24"
}],
"functionName": "ip_allow_list_set"
}],
"DomainNames": "example.com"
}ip_black_list_set
説明:IP ブラックリストを設定します。
関数 ID:13
競合:
ip_allow_list_set(機能 ID: 69) と競合します。いずれか一方のみ設定可能です。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ip_list | String | はい | カンマ ( | 192.168.0.1 |
customize_response_status_code | String | いいえ | カスタム応答状態コード。デフォルト値: | 429 |
ip_acl_xfwd | String | いいえ | IP 照合モード。有効な値: | all |
ip_list_notes | String | いいえ | IP リストの注釈。 | 192.x.x.1 (悪意のある IP) |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "ip_list",
"argValue": "192.168.0.1"
}],
"functionName": "ip_black_list_set"
}],
"DomainNames": "example.com"
}aliauth
説明:URL 認証を設定します。
関数 ID:25
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
auth_m3u8 | String | いいえ | m3u8 コンテンツの書き換えを有効にします。有効にすると、TS へのアクセス認証の失敗を防ぐために、m3u8 ファイル内の TS セグメントに認証パラメーターが追加されます。有効な値: | on |
auth_type | String | はい | 認証タイプです。有効な値は | type_a |
auth_key1 | String | はい | 認証キー 1 (16~128 文字、英数字のみ)。 | 1234567890123456789 |
auth_key2 | String | いいえ | 認証キー 2 (16~128 文字、英数字のみ)。 | 1234567890123456789 |
ali_auth_delta | Integer | いいえ | 認証済み URL の有効な持続時間 (秒)。デフォルト値: | 1800 |
req_auth_ip_white | String | いいえ | 認証を免除されるホワイトリスト IP アドレス。複数の IP アドレスはカンマ (,) で区切ります。 | 192.168.0.1 |
req_auth_ip_acl_xfwd | String | いいえ | ホワイトリストの適用除外のためにクライアント IP を抽出するメソッドです。有効な値は | all |
sign_param | String | いいえ | 署名パラメーターの名前。auth_type が type_f に設定されている場合にのみ有効です。 | sign |
time_param | String | いいえ | タイムスタンプパラメーターの名前。auth_type が type_f に設定されている場合にのみ有効です。 | time |
time_format | String | いいえ | タイムスタンプのフォーマットです。auth_type が type_f に設定されている場合にのみ有効です。有効な値: | hex |
path_encoding | String | いいえ | URL エンコーディングを有効にするかどうかを指定します。このパラメーターは、auth_type が type_f に設定されている場合にのみ有効です。有効な値: | on |
例 1 (認証タイプ 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"
}例 2 (認証タイプ 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": "hex"
}, {
"argName": "path_encoding",
"argValue": "on"
}],
"functionName": "aliauth"
}],
"DomainNames": "example.com"
}cdn_remote_auth
説明:リモート認証を設定します。
関数 ID:258
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | リモート認証を有効にするかどうかを指定します。有効な値: | on |
remote_auth_addr | String | はい | 認証サーバのアドレス。フォーマット:https://cdn.aliyun.com/auth または http://10.10.10.10/auth。 | https://example.aliyundoc.com/auth |
remote_auth_method | String | はい | リクエストメソッド。有効な値:GET、POST、HEAD。 | get |
remote_auth_type | String | はい | 認証するファイルタイプ。すべてのタイプに対しては all に設定します。複数のタイプはパイプ (|) で区切り、大文字と小文字を区別します。 | all |
remote_auth_reserve_args | String | はい | 予約済みリクエストパラメーター。パイプ (|) で区切り、大文字と小文字を区別しません。すべてのパラメーターを予約するには all に設定し、すべての URL パラメーターを削除するには ali_delete_all_args に設定します。 | all |
remote_auth_custom_args | String | いいえ | 追加するカスタムパラメーター。パイプ (|) で区切り、大文字と小文字を区別します。 | (empty) |
remote_auth_reserve_header | String | はい | 予約済みリクエストヘッダー。パイプ (|) で区切り、大文字と小文字を区別しません。すべてのヘッダーを予約するには all に設定し、すべてのヘッダーを削除するには ali_delete_all_headers に設定します。 | all |
remote_auth_custom_header | String | いいえ | 追加するカスタムリクエストヘッダー。パイプ (|) で区切り、大文字と小文字を区別しません。 | (empty) |
remote_auth_success_code | Integer | はい | 認証サーバから返される認証成功ステータスコード。複数のコードはカンマで区切ります。 | 200 |
remote_auth_fail_code | Integer | はい | 認証サーバから返される認証失敗ステータスコード。複数のコードはカンマで区切ります。 | 403,404 |
remote_auth_other_code_act | String | いいえ | 成功でも失敗でもない、その他の状態コードに対するアクション。有効な値: | pass |
remote_auth_fail_resp_code | Integer | はい | 認証が失敗したときに CDN がクライアントに返すステータスコード。 | 403 |
remote_auth_timeout | Integer | はい | 認証タイムアウト (ミリ秒)。最大値:3000。 | 500 |
remote_auth_timeout_action | String | はい | 認証がタイムアウトした場合のアクション。有効な値: | 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_reserve_header",
"argValue": "all"
}, {
"argName": "remote_auth_success_code",
"argValue": "200"
}, {
"argName": "remote_auth_fail_code",
"argValue": "403"
}, {
"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"
}ali_ua
説明:User-Agent アクセス制限を設定します。
関数 ID:58
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ua | String | はい | User-Agent の値。ワイルドカード * (任意の文字列に一致) と、パイプ (|) で区切られた複数の値をサポートします。 | *curl*|*IE*|*chrome*|*firefox* |
type | String | はい | リストタイプ。有効な値: | black |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "ua",
"argValue": "*curl*|*IE*|*chrome*|*firefox*"
}, {
"argName": "type",
"argValue": "black"
}],
"functionName": "ali_ua"
}],
"DomainNames": "example.com"
}キャッシュ設定
filetype_based_ttl_set
説明:ファイルの有効期限を設定します。
関数 ID:6
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ttl | Integer | はい | キャッシュ期間 (秒)。有効な値:1-99999999。 | 500000 |
file_type | String | はい | カンマ ( | jpg |
weight | Integer | いいえ | 優先度。有効な値: 1~99。デフォルト値: | 1 |
swift_origin_cache_high | String | いいえ | オリジンキャッシュポリシーを優先するかどうかを指定します。有効にすると、オリジンレスポンスヘッダー (Cache-Control や Pragma など) のキャッシュポリシーが優先されます。有効な値: | off |
swift_no_cache_low | String | いいえ | オリジンの no-cache レスポンスヘッダーを無視するかどうかを指定します。有効にすると、以下のオリジンレスポンスヘッダーが無視されます:Cache-Control: no-store、Cache-Control: no-cache、Cache-Control: max-age=0、Pragma: no-cache。有効な値: | off |
swift_follow_cachetime | String | いいえ | クライアントが CDN キャッシュポリシーをフォローするかどうかを指定します。有効にすると、最終的に有効な CDN キャッシュポリシーがクライアントへの応答で送信されます。有効な値: | off |
force_revalidate | String | いいえ | TTL が 0 の場合にコンテンツの強制検証を行うかどうかを指定します。 有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "ttl",
"argValue": "500000"
}, {
"argName": "file_type",
"argValue": "jpg"
}],
"functionName": "filetype_based_ttl_set"
}],
"DomainNames": "example.com"
}ali_return_code
説明:カスタム HTTP レスポンス。カスタム HTTP ステータスコードと HTTP ボディで HTTP レスポンスを構築します。構築されたレスポンスは直接クライアントに返されます。
関数 ID:56
パラメーター:
オリジン前応答モード (exit_after_return_code が on にセットされている場合): CDN はオリジンからフェッチせずに、リクエストを直接インターセプトし、(設定されている場合は) 応答状態コードとレスポンスボディをクライアントに返します。
オリジン取得後の応答モード (exit_after_return_code が return_code_phase または空に設定されている場合): CDN はまずオリジンからコンテンツをフェッチし、次に応答ステータスコードとオリジンの応答コンテンツの両方をクライアントに返します。 オリジン取得後のモードでは、この設定はデフォルトでは有効にならず、レスポンスボディは常にオリジンから返されたコンテンツになります。 オリジンのレスポンスボディを置き換えるには、ali_body_filter_switch も有効にする必要があります。
パラメーター | タイプ | 必須 | 説明 | 例 |
return_code | Integer | はい | レスポンスステータスコード。CDN ノードが最終的にクライアントに返す HTTP ステータスコードを設定します。 | 302 |
exit_after_return_code | String | いいえ | レスポンスモード。CDN がクライアントに応答を返すタイミングを制御します。 有効な値: | on |
resp_body_ct | String | いいえ | レスポンスボディコンテンツ (HTTP ボディ)。クライアントに返される内容をカスタマイズします。オリジン前レスポンスモードの場合:指定されている場合、このコンテンツがレスポンスボディとして返されます。指定されていない場合、ステータスコードのみが返されます。オリジン後レスポンスモードの場合:この設定はデフォルトでは効果がありません。レスポンスボディは常にオリジンから返されたコンテンツです。 | example |
ali_body_filter_switch | String | いいえ | オリジンレスポンスの内容を変更します。この設定は、オリジン後応答モードでのみ有効になります。有効にすると、CDN はオリジンレスポンスボディを指定された応答内容に置き換え、応答状態コードと応答内容をクライアントに返します。有効な値: | on |
ali_body_filter_code | Integer | いいえ | オリジンレスポンスステータスコードに一致させます。この設定は、オリジン後レスポンスモードで、オリジンレスポンスコンテンツの変更が有効な場合にのみ有効です。指定すると、CDN はオリジンが指定されたステータスコードを返した場合にのみ、レスポンスコンテンツの置換ロジックをトリガーします。ステータスコードが一致しない場合、置換は行われません。 | 404 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "return_code",
"argValue": "403"
}, {
"argName": "exit_after_return_code",
"argValue": "on"
}, {
"argName": "resp_body_ct",
"argValue": "null"
}, {
"argName": "ali_body_filter_switch",
"argValue": "on"
}, {
"argName": "ali_body_filter_code",
"argValue": "333"
}],
"functionName": "ali_return_code"
}],
"DomainNames": "example.com"
}path_based_ttl_set
説明:ディレクトリベースのキャッシュ有効期限を設定します。
関数 ID:7
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ttl | Integer | はい | キャッシュ期間 (秒)。有効な値:1-99999999。 | 500000 |
path | String | はい | ディレクトリパス。スラッシュ (/) で始まる必要があります。 | /example/demo |
weight | Integer | いいえ | 優先度。有効な値:1-99。デフォルト値:1 (値が大きいほど優先度が高い)。 | 1 |
swift_origin_cache_high | String | いいえ | オリジンサーバーのキャッシュポリシーを優先するかどうかを指定します。有効値: | off |
swift_no_cache_low | String | いいえ | オリジンの no-cache レスポンスヘッダーを無視するかどうかを指定します。有効な値: | off |
swift_follow_cachetime | String | いいえ | クライアントが CDN キャッシュポリシーをフォローするかどうかを指定します。有効な値: | off |
force_revalidate | String | いいえ | TTL が 0 の場合にコンテンツの検証を強制するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "path",
"argValue": "/example/demo"
}, {
"argName": "weight",
"argValue": "1"
}, {
"argName": "ttl",
"argValue": "500000"
}],
"functionName": "path_based_ttl_set"
}],
"DomainNames": "example.com"
}filetype_force_ttl_code
説明:ファイルタイプベースのステータスコードキャッシュ有効期限を設定します。
関数 ID:63
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
file_type | String | はい | ファイルタイプ。大文字と小文字を区別し、カンマ (,) で区切ります。 | jpg |
code_string | String | はい | ステータスコードとそのキャッシュ期間 (秒、1-99999999)。カンマで区切ります。フォーマット:code=ttl。 | 403=10 |
swift_code_origin_cache_high | String | いいえ | オリジンキャッシュポリシーを優先するかどうかを指定します。有効な値は | off |
swift_code_no_cache_low | String | いいえ | オリジンの no-cache レスポンスヘッダーを無視するかどうかを指定します。有効な値: | off |
swift_code_follow_cachetime | String | いいえ | クライアントが CDN キャッシュポリシーをフォローするかどうかを指定します。有効な値: | off |
force_revalidate | String | いいえ | TTL が 0 の場合にコンテンツの検証を強制するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "file_type",
"argValue": "jpg"
}, {
"argName": "code_string",
"argValue": "403=10"
}],
"functionName": "filetype_force_ttl_code"
}],
"DomainNames": "example.com"
}path_force_ttl_code
説明:パスベースのステータスコードキャッシュ有効期限を設定します。
関数 ID:65
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
path | String | はい | ディレクトリパス。スラッシュ (/) で始まる必要があります。 | /example/demo |
code_string | String | はい | ステータスコードとそのキャッシュ期間 (秒、1-99999999)。カンマで区切ります。フォーマット:code=ttl。 | 403=10,404=15 |
swift_code_origin_cache_high | String | いいえ | オリジンキャッシュポリシーを優先するかどうかを指定します。有効な値: | off |
swift_code_no_cache_low | String | いいえ | オリジンの no-cache レスポンスヘッダーを無視するかどうかを指定します。有効な値: | off |
swift_code_follow_cachetime | String | いいえ | クライアントが CDN のキャッシュポリシーに従うかどうかを指定します。有効な値は | off |
force_revalidate | String | いいえ | TTL が 0 の場合にコンテンツの検証を強制するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "path",
"argValue": "/example/demo"
}, {
"argName": "code_string",
"argValue": "403=10,404=15"
}],
"functionName": "path_force_ttl_code"
}],
"DomainNames": "example.com"
}default_ttl_code
説明:ステータスコードキャッシュ有効期限 (オリジン優先) を設定します。
関数 ID:207
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
default_ttl_code | String | はい | ステータスコードとそのキャッシュ期間 (秒、1-99999999)。カンマで区切ります。フォーマット:code=ttl。 | 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:27
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
key | String | はい | レスポンスヘッダー名。 | Cache-Control |
value | String | はい | レスポンスヘッダーの値。複数の値はカンマ (,) で区切ります。ヘッダーを削除するには、値を null に設定します。 | no-cache |
header_operation_type | String | いいえ | ヘッダー操作タイプ。有効値: | add |
duplicate | String | いいえ | 重複ヘッダーを許可するかどうかを指定します (add 操作を使用する場合)。有効な値: | off |
header_source | String | いいえ | 置換対象の値を検索します (rewrite を使用する場合)。正規表現をサポートします。 | value1 |
header_destination | String | いいえ | 置換後の値 (rewrite を使用する場合)。 | value123 |
match_all | String | いいえ | 「書き換え」を使用する場合のマッチングモード。有効な値: | off |
access_origin_control | String | いいえ | クロスオリジン検証を有効にするかどうかを指定します。有効な値は | 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:15
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
error_code | Integer | はい | エラーステータスコード。 | 404 |
rewrite_page | String | はい | リダイレクトページの URL。 | 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 書き換えルールを設定します。
関数 ID:43
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
regex | String | はい | 書き換え対象の URI。/ で始まる必要があります。PCRE 正規表現をサポートします。 | ^/hello$ |
replacement | String | はい | ターゲット URI。flag が break に設定されている場合、/ で始まるパスのみをサポートします。flag が redirect に設定されている場合、プロトコルとドメイン名を含めることができます。PCRE 正規表現 ($1、$2 でキャプチャグループ) をサポートします。 | /hello/test |
flag | String | いいえ | 実行ルール。有効な値:(空、デフォルト) 後続のルールに一致し続けます。break:後続のルールの一致を停止し、パラメーターを変更せずに URI を書き換えます。redirect:クライアントに 302 リダイレクトを返し、後続のルールに一致し続けます。enhance_break:break に似ていますが、パラメーターを含む URL 全体を変更します。enhance_redirect:redirect に似ていますが、パラメーターを含む URL 全体を変更します。 | redirect |
rewrite_method | String | いいえ | リダイレクトメソッド。有効な値:302 (デフォルト、リクエストメソッドが GET に変更される場合があります)、303 (リクエストメソッドが 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 | いいえ | ソース URI をターゲット URI に書き換えてキャッシュキーを作成します。ソースには uri_to_rewrite を、ターゲットには ai_uri_regex を使用します。 | [{"uri_to_rewrite":"/hello","ai_uri_regex":"/hello/test"}] |
args | Array of String | いいえ | キャッシュキーのリクエストパラメーターに対して、追加、削除、変更、または保持操作を実行します。 | [{"args":"test=123","args_operation_type":"add"}] |
headers | String | いいえ | キャッシュキーに含める HTTP ヘッダー。スペースで区切ります。 | example |
variable | Array of String | いいえ | リクエスト URL パラメーター、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:54
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
share_host | String | はい | 現在のドメインとキャッシュを共有できるターゲットドメイン名。これはユーザーリクエストの back-to-origin ホストを変更しません。キャッシュ検索のためのキャッシュキーを生成するために 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 | いいえ | 陳腐化したコンテンツの配信をトリガーするカスタムオリジンエラーステータスコード。デフォルト (指定なし) では、オリジンエラーはタイムアウトとすべての 5xx ステータスコードとして定義されます。あいまい一致 (4xx、5xx) と完全一致 (502、504) をサポートします。複数のコードはカンマで区切ります。 | 502 |
extend_expiration_time | Integer | いいえ | 有効期限が切れた後、陳腐化したキャッシュコンテンツを保持する最大時間 (秒)。デフォルト値:3600 (1 時間)。 | 60 |
origin_first | String | いいえ | オリジンの stale-if-error ポリシーを優先するかどうかを指定します。有効 (on) の場合、オリジン応答に Cache-Control: stale-if-error=xx が含まれていると、stale-if-error 時間が extend_expiration_time よりも優先されます。有効な値: | 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 の基本パラメーターを設定します。
関数 ID:78
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
http2 | String | いいえ | HTTP/2 を有効にするかどうかを指定します。有効値: | on |
ocsp_stapling | String | いいえ | OCSP Stapling を有効にするかどうかを指定します。有効な値: | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "http2",
"argValue": "on"
}],
"functionName": "https_option"
}],
"DomainNames": "example.com"
}https_force
説明:HTTPS リダイレクトを設定します。
関数 ID:44
競合:
http_force(機能 ID: 45) と競合します。いずれか一方のみ設定できます。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | HTTPS リダイレクトを有効にするかどうかを指定します。有効な値: | on |
https_rewrite | String | いいえ | リダイレクトメソッド。有効な値: | 301 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "https_rewrite",
"argValue": "301"
}],
"functionName": "https_force"
}],
"DomainNames": "example.com"
}http_force
説明:強制 HTTP リダイレクトを設定します。
関数 ID:45
競合:
https_force(機能 ID: 44) と競合します。いずれか一方のみ構成可能です。いずれかの機能がすでに構成されている場合 (スイッチパラメーターがオフに設定されている場合も含む)、もう一方の機能を構成する前に、既存の構成を削除する必要があります。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | 強制的な HTTP リダイレクトを有効にするかどうかを指定します。有効な値: | on |
http_rewrite | String | いいえ | リダイレクトメソッド。有効な値:301 (GET リクエストメソッドは変更されず、他のメソッドは GET に変更される場合があります)、308 (リクエストメソッドとボディは保持されます)。 | 301 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "http_rewrite",
"argValue": "301"
}],
"functionName": "http_force"
}],
"DomainNames": "example.com"
}https_tls_version
説明:TLS プロトコルバージョンを設定します。
関数 ID:110
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
tls10 | String | いいえ | TLS 1.0 を有効にするかどうかを指定します。有効な値は | on |
tls11 | String | いいえ | TLS 1.1 を有効にするかどうかを指定します。有効な値は | on |
tls12 | String | いいえ | TLS 1.2 を有効にするかどうかを指定します。有効な値: | on |
tls13 | String | いいえ | TLS 1.3 を有効にするかどうかを指定します。有効な値は | on |
ciphersuitegroup | String | いいえ | 暗号スイートグループ。有効な値: | all |
ciphersuite | String | いいえ | カスタム暗号スイート。ciphersuitegroup が custom に設定されている場合に使用します。複数の暗号スイートはカンマで区切ります。 | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "tls10",
"argValue": "on"
}, {
"argName": "tls11",
"argValue": "on"
}, {
"argName": "tls12",
"argValue": "on"
}, {
"argName": "tls13",
"argValue": "off"
}, {
"argName": "ciphersuitegroup",
"argValue": "all"
}],
"functionName": "https_tls_version"
}],
"DomainNames": "example.com"
}HSTS
説明:HTTP Strict Transport Security (HSTS) を設定します。
関数 ID:112
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enabled | String | はい | HSTS を有効にするかどうかを指定します。有効な値: | on |
https_hsts_max_age | Integer | はい | 有効期限 (秒)。推奨値:5184000 (60 日)。 | 5184000 |
https_hsts_include_subdomains | String | いいえ | HSTS ヘッダーにサブドメインを含めるかどうかを指定します。有効な値: | 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"
}https_client_cert
説明:クライアント証明書認証を設定します。
関数 ID:111
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
client_certificate_verify | String | はい | クライアント証明書認証を有効にするかどうかを指定します。有効な値: | on |
client_certificate | String | はい | 認証に使用するクライアント証明書 (公開鍵)。CA 証明書は -----BEGIN CERTIFICATE----- で始まり、-----END CERTIFICATE----- で終わる必要があります。 | -----BEGIN PUBLIC KEY-----***-----END PUBLIC KEY----- |
client_verify_depth | String | いいえ | 証明書チェーンの検証深度 (クライアント証明書からルート 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"
}パフォーマンスの最適化
gzip
説明:ページの Gzip 圧縮を有効にします。
関数 ID:35
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | Gzip 圧縮を有効にするかどうかを指定します。有効な値: | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "gzip"
}],
"DomainNames": "example.com"
}tesla
説明:HTML ページの最適化を設定します。
関数 ID:16
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | ページの最適化を有効にするかどうかを指定します。有効な値: | on |
trim_js | String | いいえ | HTML 内のインライン JS コードを最適化するかどうかを指定します。有効な値: | off |
trim_css | String | いいえ | HTML 内のインライン CSS コードを最適化するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}, {
"argName": "trim_css",
"argValue": "off"
}, {
"argName": "trim_js",
"argValue": "off"
}],
"functionName": "tesla"
}],
"DomainNames": "example.com"
}brotli
説明:Brotli 圧縮を設定します。
関数 ID:97
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | Brotli 圧縮を有効にするかどうかを指定します。有効な値は | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "brotli"
}],
"DomainNames": "example.com"
}set_hashkey_args
説明:URL パラメータフィルタリング (保持モード) を設定します。
関数 ID:19
競合:
ali_remove_args(関数 ID: 75) と競合します。いずれか一方のみ設定できます。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
hashkey_args | String | いいえ | 保持するパラメーターのリスト。カンマ (,) で区切ります。最大:10 パラメーター。 | key1,key2 |
disable | String | はい | すべてのパラメーターを無視するかどうかを指定します。有効な値: | on |
keep_oss_args | String | はい | オリジンリクエストのパラメーターを保持するかどうかを指定します。有効な値: | 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 パラメータフィルタリング (削除モード) を設定します。
関数 ID:75
競合:
set_hashkey_args(関数 ID: 19) と競合します。いずれか一方のみ設定できます。パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ali_remove_args | String | はい | 削除するパラメーター。スペースで区切ります。残りのパラメーターは、キャッシュキーの URL args 部分として使用されます。 | test |
keep_oss_args | String | はい | オリジンリクエストのパラメーターを保持するかどうかを指定します。有効な値: | off |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "ali_remove_args",
"argValue": "test"
}, {
"argName": "keep_oss_args",
"argValue": "off"
}],
"functionName": "ali_remove_args"
}],
"DomainNames": "example.com"
}image_transform
説明:CDN 画像変換を設定します。
関数 ID:239
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | イメージ変換を有効にするかどうかを指定します。有効な値は | on |
filetype | String | はい | トランスコードに対応する画像フォーマット。パイプ (|) で区切ります。有効な値:JPEG、JPG、PNG、WEBP、BMP、GIF、TIFF、JP2。 | jpg|jpeg|png |
webp | String | いいえ | 適応型 WebP 変換を有効にするかどうかを指定します。有効な値: | on |
orient | String | いいえ | イメージの自動回転を有効にするかどうかを指定します。有効な値: | on |
slim | Integer | いいえ | 画像のスリム化率。有効な値:0-100。解像度、サイズ、フォーマットを変更せずに画質を下げ、帯域幅を節約します。 | 10 |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "filetype",
"argValue": "jpg|jpeg|png"
}, {
"argName": "webp",
"argValue": "on"
}, {
"argName": "orient",
"argValue": "on"
}, {
"argName": "enable",
"argValue": "on"
}],
"functionName": "image_transform"
}],
"DomainNames": "example.com"
}ビデオ
range
説明:Range ベースの back-to-origin を設定します。
関数 ID:31
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | Range ベースのバックツーオリジンを有効にするかどうかを指定します。有効値: | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "range"
}],
"DomainNames": "example.com"
}video_seek
説明:ビデオのシーク再生 (ドラッグアンドプレイ) を設定します。
関数 ID:30
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | シーク再生を有効にするかどうかを指定します。有効な値: | on |
flv_seek_by_time | String | いいえ | FLV の時間ベースのシークを有効にするかどうかを指定します。有効な値: | on |
mp4_seek_start | String | いいえ | カスタム MP4 開始パラメーター名。 | mp4starttime |
mp4_seek_end | String | いいえ | カスタム MP4 終了パラメーター名。 | mp4endtime |
flv_seek_start | String | いいえ | カスタム FLV 開始パラメーター名。 | flvstarttime |
flv_seek_end | String | いいえ | カスタム FLV 終了パラメーター名。 | flvendtime |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "video_seek"
}],
"DomainNames": "example.com"
}ali_video_split
説明:ビデオからのオーディオ抽出を設定します。
関数 ID:204
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | オーディオ抽出を有効にするかどうかを指定します。有効な値: | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "ali_video_split"
}],
"DomainNames": "example.com"
}ali_video_preview
説明:ビデオプレビュー (試聴) を設定します。
関数 ID:205
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | ビデオプレビューを有効にするかどうかを指定します。 有効な値: | on |
ali_video_preview_argument | String | はい | カスタムプレビューパラメーター名。パラメーター値の単位は秒である必要があります。 | 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 標準暗号化書き換えを設定します。
関数 ID:253
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
enable | String | はい | M3U8 標準暗号化の書き換えを有効にするかどうかを指定します。有効な値: | on |
hls_token_arg_name | String | いいえ | カスタム HLS トークンパラメーター名。デフォルト値:MtsHlsUriToken。 | example |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "enable",
"argValue": "on"
}],
"functionName": "hls_token_rewrite"
}],
"DomainNames": "example.com"
}トラフィック制限
limit_rate
説明:リクエストごとのレート制限を設定します。
関数 ID:72
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
ali_limit_rate | String | はい | 単一リクエストのレート制限値 (例: | 1m |
ali_limit_rate_after | String | いいえ | レート制限が開始される前のデータ量しきい値。値は数値 + 単位 (k または m) の形式で、バイト単位である必要があります。 | 1000 |
traffic_limit_arg | String | いいえ | リクエスト URL から抽出されるレート制限パラメーター名。指定すると、レート制限は URL 内のこのパラメーターの値に基づきます。リクエストにこのパラメーターが含まれていない場合、デフォルトのレート制限 (ali_limit_rate) が使用されます。パラメーターがない場合にレート制限を無効にするには、ali_limit_rate を 0k に設定します。 | rate |
traffic_limit_unit | String | いいえ | traffic_limit_arg パラメーターの値の単位です。 有効な値: | k |
ali_limit_start_hour | Integer | いいえ | レート制限の開始時間。有効な値: 0~24 (24 時間形式)。デフォルト値: | 20 |
ali_limit_end_hour | Integer | いいえ | レート制限の終了時間。有効な値: 0~24 (開始時間より大きい必要があります)。デフォルト値: | 23 |
例 1:
{
"Functions": [{
"functionArgs": [{
"argName": "ali_limit_rate",
"argValue": "1m"
}],
"functionName": "limit_rate"
}],
"DomainNames": "example.com"
}例 2: デフォルトのレート制限を 1 MByte/s に設定します。リクエスト URL にパラメーター
rateが含まれている場合、レート制限はそのパラメーターの値に従います。たとえば、URL にrate=200が含まれている場合、実際のレート制限は 200 KByte/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"
}エッジスクリプトとエッジ関数
edge_function
説明:エッジスクリプトのルールを設定します。
関数 ID:180
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
rule | String | はい | DSL ルール。 | if eq($uri, '/') { rewrite('https://example.com/index.html', 'redirect') } |
pri | Integer | はい | 優先度。有効な値:0-999 (値が小さいほど優先度が高い)。ヘッドとフットの実行位置の優先度は独立しています。 | 0 |
enable | String | はい | ルールを有効にするかどうかを指定します。有効値は | on |
name | String | はい | ルール名 (英字とアンダースコアのみ)。 | test |
pos | String | いいえ | 実行位置。有効な値: | head |
brk | String | いいえ | 実行を中断するかどうかを指定します。有効な値: | off |
option | String | いいえ | 拡張フィールド。 | (empty) |
grammar | String | いいえ | ルール構文。有効な値: | es2 |
jsmode | String | いいえ | JS 実行モード。有効な値: | bypass |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "rule",
"argValue": "if eq($uri, '/') { rewrite('https://example.com/index.html', 'redirect') }"
}, {
"argName": "pri",
"argValue": "0"
}, {
"argName": "enable",
"argValue": "on"
}, {
"argName": "name",
"argValue": "test"
}],
"functionName": "edge_function"
}],
"DomainNames": "example.com"
}エッジ関数
edgeroutine
説明:エッジルーチン (エッジ関数) を設定します。
関数 ID:275
この機能はアプリケーションを有効にする必要があります。使用する前に、この機能を有効にするために申請する必要があります。
ルールエンジン
condition
説明:ルールエンジンを設定します。ユーザーリクエストのさまざまなパラメーター (クライアント IP、URI、ヘッダー、Cookie など) を識別する条件ルールをグラフィカルに設定し、特定のリクエストに設定を適用するかどうかを決定できます。これにより、CDN 設定ポリシーをより柔軟かつ正確に制御できます。
関数 ID:250
パラメーター:
この機能はアプリケーションを有効にする必要があります。使用する前に、この機能を有効にするために申請する必要があります。
パラメーター | タイプ | 必須 | 説明 | 例 |
rule | Array | はい | ルール条件の内容。名前、ステータス、ロジック、基準を含みます。基準オブジェクトには、matchType (一致させるリクエスト情報のタイプ)、matchObject (一致タイプのさらなる絞り込み)、matchOperator (一致アクション、equals など)、matchValue (一致させる値)、negate (結果を否定するかどうか、true または false) が含まれます。 | {"match":{"logic":"and","criteria":[{"matchType":"clientipVer","matchObject":"CONNECTING_IP","matchOperator":"equals","matchValue":"v6","negate":false}]},"name":"example","status":"enable"} |
例:
{
"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"
}セキュリティ
ali_location
説明:リージョンベースのアクセスブロッキングを設定します。
関数 ID:57
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
location | String | はい | ブロッキングポリシーを適用するリージョン。2 文字の国別コード (ISO 3166 標準) をサポートし、スペースで区切ります。全世界をブロックする場合は global もサポートします。 | CN |
type | String | はい | ブロックポリシーのタイプ。有効な値: | black |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "location",
"argValue": "CN"
}, {
"argName": "type",
"argValue": "black"
}],
"functionName": "ali_location"
}],
"DomainNames": "example.com"
}QUIC
iquic
説明:QUIC プロトコルの基本パラメーターを設定します。
関数 ID:281
パラメーター:
パラメーター | タイプ | 必須 | 説明 | 例 |
iquic_enable | String | はい | QUIC プロトコルを有効にするかどうかを指定します。有効な値: | on |
例:
{
"Functions": [{
"functionArgs": [{
"argName": "iquic_enable",
"argValue": "on"
}],
"functionName": "iquic"
}],
"DomainNames": "example.com"
}