BatchSetDcdnDomainConfigsを呼び出して、一度に複数のドメイン名の機能を設定できます。 このトピックでは、この操作を呼び出して構成できる機能と、この操作を呼び出すときに指定する必要があるパラメーターについて説明します。
このトピックで説明する機能は、BatchSetDcdnDomainConfigs、DescribeDcdnDomainConfigs、BatchDeleteDcdnDomainConfigs、およびDescribeDcdnUserDomainsByFuncのAPIを呼び出すときに参照できます。
BatchSetDcdnDomainConfigsを呼び出して、複数のドメイン名の機能を設定できます。 操作が成功すると、一意の構成ID (ConfigId) が生成されます。 構成IDを使用して、機能の構成を更新または削除できます。 詳細については、「ConfigIdの使用上の注意事項」をご参照ください。
基本情報
ダイナミック
機能の説明: 静的および動的リソースのアクセラレーションルールを設定します。 詳細については、「概要」をご参照ください。
特徴ID (FunctionID/FuncId): 46。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
静的および動的コンテンツアクセラレーションを有効にするかどうかを指定します。 有効な値:
on
off
on
static_route_type
String
任意
静的ファイルのファイル名拡張子。
. txt
static_route_url
String
任意
静的ファイルのURI。
/domain/detail/log.txt
static_route_path
String
任意
静的ファイルのパス。
説明あいまい検索には、アスタリスク (*) や疑問符 (?) などのワイルドカード文字を使用できます。 アスタリスク (*) は、0、1、またはそれ以上の文字を指定します。 疑問符 (?) は1文字を指定します。
/abc /テスト /*
dynamic_route_origin
String
任意
動的コンテンツの取得に使用される配信元プロトコルポリシー。 有効な値:
http: Dynamic Content Delivery Network (DCDN) は、HTTP経由でオリジンサーバーにリクエストをリダイレクトします。
https: DCDNはHTTPS経由でオリジンサーバーにリクエストをリダイレクトします。
follow: クライアントがHTTPまたはHTTPSを使用してリソースをリクエストする場合、DCDNはクライアントが使用するプロトコルを使用してリクエストをオリジンサーバーにリダイレクトします。
follow-port: クライアントがHTTPまたはHTTPSを使用してリソースを要求する場合、DCDNはオリジンサーバーポートで使用されるプロトコルを使用してリクエストをオリジンサーバーにリダイレクトします。
説明デフォルト値: follow。
https
dynamic_route_round_robin
String
任意
負荷分散を有効にするかどうかを指定します。 有効な値:
on
off (デフォルト)
off
partition_back_to_origin
String
任意
中国本土と中国本土以外の分離オリジンフェッチを有効にするかどうかを指定します。 有効な値:
on
off (デフォルト)
off
dynamic_route_adapt_cache
String
任意
アダプティブキャッシングを有効にするかどうかを指定します。 有効な値:
on
off (デフォルト)
off
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "static_route_type", "argValue": ".txt" }, { "argName": "static_route_url", "argValue": "/domain/detail/log.txt" },{ "argName": "static_route_path", "argValue": "/abc/test/*" }, { "argName": "dynamic_route_origin", "argValue": "https" }, { "argName": "dynamic_route_round_robin", "argValue": "off" }, { "argName": "dynamic_route_adapt_cache", "argValue": "off" }], "functionName": "dynamic" }], "DomainNames": "example.com" }
ipv6
機能の説明: IPv6を設定します。 詳細については、「IPv6の有効化」をご参照ください。
機能ID (FunctionID/FuncId): 194。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
スイッチ
String
必須
IPv6を有効にするかどうかを指定します。 有効な値:
on
off
on
region
String
必須
IPv6を有効にするリージョン。
説明アスタリスク (*) を入力して、すべてのリージョンを指定できます。 指定したリージョンでIPv6を有効にするには、チケットを起票
リージョンパラメーターを設定しない場合、IPv6はすべてのリージョンで有効になります。
*
例:
{ "Functions": [{ "functionArgs": [{ "argName": "switch", "argValue": "on" }, { "argName": "region", "argValue": "*" }], "functionName": "ipv6" }], "DomainNames": "example.com" }
オリジンフェッチ設定
set_req_host_ヘッダー
機能の説明: オリジンホストを構成します。 詳細については、「オリジンホストの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 18.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
domain_name
String
必須
オリジンホスト。
example.com
例:
{ "Functions": [{ "functionArgs": [{ "argName": "domain_name", "argValue": "example.com" }], "functionName": "set_req_host_header" }], "DomainNames": "example.com" }
forward_scheme
機能の説明: オリジンプロトコルポリシーを設定します。 詳細については、「静的オリジンプロトコルポリシーの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 47。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
オリジンプロトコルポリシーを有効にするかどうかを指定します。 有効な値:
on
off
on
scheme_origin
String
任意
オリジンフェッチのプロトコル。 有効な値:
http: DCDNはHTTP経由でオリジンサーバーにリクエストをリダイレクトします。
https: DCDNはHTTPS経由でオリジンサーバーにリクエストをリダイレクトします。
follow: クライアントがHTTPまたはHTTPSを使用してリソースをリクエストする場合、DCDNはクライアントが使用するプロトコルを使用してリクエストをオリジンサーバーにリダイレクトします。
説明デフォルト値: follow。
フォロー
scheme_origin_port
String
任意
カスタムオリジンポート。 このパラメーターは、scheme_originパラメーターと一緒に使用する必要があります。
scheme_originがhttpに設定されている場合、80などのオリジンHTTPポートを設定するだけで済みます。
scheme_originがhttpsに設定されている場合、443などのオリジンHTTPSポートを設定するだけで済みます。
scheme_originがに従うように設定されている場合、オリジンHTTPおよびHTTPSポートを設定する必要があります。 コロン (:) でポートを区切ります。 例: 80:443。
80:443
例1: DCDNは、クライアントが使用するプロトコルを使用して、オリジンサーバーにリクエストをリダイレクトします。 配信元ポートはプロトコルのデフォルトポートで、HTTPの場合は80、HTTPSの場合は443です。
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "scheme_origin", "argValue": "follow" }], "functionName": "forward_scheme" }], "DomainNames": "example.com" }
例2: DCDNは、クライアントが使用するプロトコルを使用して、オリジンサーバーにリクエストをリダイレクトします。 オリジンポートはカスタムポートで、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_キー
機能の説明: プライベートObject Storage Service (OSS) バケットのアクセス制御を設定します。 この機能を初めて使用するときは、アカウント内のすべてのOSSバケットに対してDCDN読み取り専用権限を付与する必要があります。 詳細については、「プライベートOSSバケットへのアクセスの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 85。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
private_oss_auth
String
必須
プライベートOSSバケットへのアクセスを有効にするかどうかを指定します。 有効な値:
on
off
この機能を有効にすると、システムは自動的にSTSトークンを設定します。 ただし、DCDNは同じAlibaba CloudアカウントのプライベートOSSバケットにのみアクセスできます。 STSトークンの詳細については、STSとは何ですか?
on
perm_private_oss_tbl
String
任意
access_id=123 access_secret=123abc
の形式の永続的なセキュリティトークン (スペースで区切られています) 。永続的なセキュリティトークンを設定すると、DCDNは同じAlibaba Cloudアカウントまたは別の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バケットへのアクセスに使用されるセキュリティトークンを定義する1つ以上のルールを設定します。
機能ID (FunctionID/FuncId): 183。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
host
String
必須
プライベートOSSバケットのURL。
example.oss-cn-hangzhou.aliyuncs.com
キー
String
必須
access_id=123 access_secret=123abc
の形式の永続的なセキュリティトークン (スペースで区切られています) 。永続的なセキュリティトークンを設定すると、DCDNは同じAlibaba Cloudアカウントまたは別の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の指定」をご参照ください。 SNIの設定
機能ID (FunctionID/FuncId): 114。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enabled
String
必須
オリジンSNIを有効にするかどうかを指定します。 有効な値:
on
off
on
https_origin_sni
String
必須
発信元の要求で運ばれるSNI情報。 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 (FunctionID/FuncId): 124。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
forward_timeout
Integer
必須
リクエストのタイムアウト期間。 単位は秒です。
説明このパラメーターを100秒未満に設定することを推奨します。
30
例:
{ "Functions": [{ "functionArgs": [{ "argName": "forward_timeout", "argValue": "30" }], "functionName": "forward_timeout" }], "DomainNames": "example.com" }
advanced_origin
機能の説明: 高度なオリジン設定を構成します。 詳細については、「高度なオリジン設定の設定」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能の競合: 高度なオリジン機能が条件付きオリジン機能 (機能: origin_dns_host、機能ID: 212) と競合します。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
機能ID (FunctionID/FuncId): 235。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
variable_type
String
必須
変数型。 有効な値:
header: リクエストヘッダー。
arg: リクエストURLのクエリ文字列パラメーター。
uri: リクエストURL内のURLパス。
cookie: リクエストcookie。
ウリ
variable
String
必須
変数名。
説明variable_typeがuriに設定されている場合、variableはuriに設定する必要があります。
ウリ
条件
String
必須
条件。 有効な値:
==: equals。
!=: は等しくありません。
==
value
String
必須
変数の値。
/イメージ
起源
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リダイレクトを設定します。 詳細については、「301/302リダイレクトの設定」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 219。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
302リダイレクトを有効にするかどうかを指定します。 有効な値:
on
off
on
max_tries
Integer
選択可能
302リダイレクトの最大数。
デフォルト値:2
有効な値: 1 ~ 5。
説明オリジンフェッチの回数-1=302リダイレクトの回数。 オリジンフェッチの最大回数のデフォルト値は3で、有効な値は2〜6です。
2
retain_args
String
任意
302リダイレクト中にリクエストパラメーターを保持するかどうかを指定します。 有効な値:
on
off (デフォルト)
off
retain_header
String
任意
302リダイレクト中にリクエストヘッダーを保持するかどうかを指定します。 有効な値:
on
off (デフォルト)
off
response_header
String
任意
配信元サーバーから返される302リダイレクトのレスポンスヘッダー。 デフォルト値: Location。
X-Alicdn-リダイレクト
retain_host
String
任意
302リダイレクト中にオリジンドメイン名を保持するかどうかを指定します。 この機能は、レスポンスヘッダーから宛先ドメイン名を取得した場合にのみ使用できます。 有効な値:
on
off (デフォルト)
off
modify_host
String
任意
302リダイレクト中にオリジンドメイン名を変更するかどうかを指定します。 この機能は、レスポンスヘッダーから宛先ドメイン名を取得した場合にのみ使用できます。 デフォルトでは、オリジンドメイン名は変更されません。
example.com
cache
String
任意
302リダイレクト時に同じURLのリダイレクト結果をキャッシュするかどうかを指定します。 これにより、DCDNからの応答を高速化できます。 有効な値:
on
off (デフォルト)
off
expired_time
Integer
選択可能
302のリダイレクト中に同じURLのキャッシュされたリダイレクト結果のタイムアウト期間。 このパラメーターは、キャッシュパラメーターがonに設定されている場合に有効です。 単位は秒です。 デフォルト値は 3600 です。
7200
follow_origin_host
String
任意
302リダイレクト中にオリジンドメイン名をオリジンホストとして使用するかどうかを指定します。 このパラメーターが [on] に設定されている場合、オリジンドメイン名がオリジンホストとして使用され、最新のオリジンドメイン名がプライマリ /セカンダリの切り替えに使用されます。 有効な値:
on
off (デフォルト)
off
follow_5xx_retry_origin
String
任意
プライマリ /セカンダリオリジンの切り替えを有効にするかどうかを指定します。 この機能が有効になっている場合、DCDNがオリジンサーバーからHTTP 5xxステータスコードを受信すると、DCDNは次に利用可能なオリジンサーバーに切り替わります。 有効な値:
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_host", "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_ヘッダー
機能の説明: カスタムオリジンHTTPヘッダーを構成します。 詳細については、「カスタムHTTPリクエストヘッダーの設定」をご参照ください。
説明set_req_headerはバージョン1です。 バージョン2 origin_request_headerの使用を推奨します。 バージョン2はより多くのヘッダーをサポートします。
特徴ID (FunctionID/FuncId): 39。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
キー
String
必須
ヘッダーの名前。The name of the header.
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_ヘッダー
機能の説明: カスタムオリジンHTTPヘッダー (新規) を設定します。 詳細については、「HTTPリクエストヘッダーの設定 (new) 」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 228。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
header_operation_type
String
必須
リクエストヘッダーに対して実行する操作。 有効な値:
add
delete
修正
rewrite
add
header_name
String
必須
リクエストヘッダーの名前。
Accept-Encoding
header_value
String
任意
リクエストヘッダーの値。 リクエストヘッダーには1つ以上の値を指定できます。 複数入力する場合は、カンマ (,) で区切ります。
gzip
複製
String
任意
リクエストヘッダーの重複を許可するかどうかを指定します。 このパラメーターは、header_operation_typeパラメーターをaddに設定する場合に必要です。 有効な値:
on
off
off
header_source
String
任意
置き換えるヘッダー値。The header value that you want to replace. このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。 正規表現に対応しています。
value1
header_destination
String
任意
元のヘッダー値を置き換えるために使用されるヘッダー値。 このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。
value123
match_all
String
任意
マッチモード。 このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。 有効な値:
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_ヘッダー
機能の説明: オリジンHTTPレスポンスヘッダーを構成します。 詳細については、「HTTPレスポンスヘッダーの設定」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 229。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
header_operation_type
String
必須
レスポンスヘッダーに対して実行する操作。 有効な値:
add
delete
修正
rewrite
add
header_name
String
必須
レスポンスヘッダーの名前。
Cache-Control
header_value
String
任意
レスポンスヘッダーの値。 レスポンスヘッダーには1つ以上の値を指定できます。 値はコンマ (,) で区切ります。
no-cache
複製
String
任意
応答ヘッダーの重複を許可するかどうかを指定します。 header_operation_typeパラメーターをaddに設定する場合は、このパラメーターを指定する必要があります。
on
off
off
header_source
String
任意
置き換えるヘッダー値。The header value that you want to replace. このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。 正規表現に対応しています。
value1
header_destination
String
任意
元のヘッダー値を置き換えるために使用されるヘッダー値。 このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。
value123
match_all
String
任意
マッチモード。 このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。 有効な値:
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_書き換え
機能の説明: オリジンURIを書き換えます。 詳細については、「オリジンURIの書き換え」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 225。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
source_url
String
必須
書き換えたいURI。
^/hello$
target_url
String
必須
最後のURI。
/hello/test
flag
String
任意
書き換えフラグ。 有効な値:
なし: 現在のルールが一致する場合、システムはURIを他のルールと照合し続けます。
break: 現在のルールが一致する場合、システムは他のルールをスキップします。
enhance_break: このフラグはbreakに似ていますが、このフラグはURLパラメータを書き込み、Flash Video (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_書き換え
機能の説明: オリジンリクエストのパラメーターを書き換えます。 詳細については、「オリジンリクエストのURLパラメーターの書き換え」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
説明この機能を有効にすると、DCDNはオリジンURLのクエリ文字列を書き換えます。 1つ以上の書き換えルールを設定できます。 書き換えルールは、追加 > 削除 > 保持のみ > 変更の順序で有効になります。 同じパラメーターに対して複数の書き換えルールを設定した場合、優先度が最も高い書き換えルールのみが有効になります。
機能ID (FunctionID/FuncId): 224。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
delete_argument
String
任意
削除するパラメータ。 パラメーターはスペースで区切ります。
コード1
save_argument
String
任意
保持するパラメーター。 パラメーターはスペースで区切ります。 指定されたパラメーターのみが保持されます。 追加ルールと削除ルールが同時に有効になります。
Empty
ignore_all_argument
String
任意
すべてのパラメーターを無視するかどうかを指定します。 有効な値:
on: すべてのパラメータを無視します。 [追加] ルールのみが有効になります。
off (デフォルト): すべてのパラメータを無視しません。 保持、追加、および削除のルールは引き続き有効です。
on
add_argument
String
任意
追加するパラメーター。 複数ある場合は、パラメーターをスペースで区切ります。 [追加] ルールの優先度が最も高くなります。
value=123
modify_引数
String
任意
変更するパラメーター。 複数ある場合は、パラメーターをスペースで区切ります。 [修正] ルールの優先度が最も低くなります。
value=321
enable
String
必須
パラメーターの書き換えを有効にするかどうかを指定します。 有効な値:
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_バケット
機能の説明: Amazon Simple Storage Service (S3) 認証を設定します。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 186。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enabled
String
必須
Amazon S3認証を有効にするかどうかを指定します。 有効な値:
I2: Amazon S3認証を有効にします。
off: Amazon S3認証を無効にします。
l2
bucketname
String
任意
Amazon S3バケットの名前。
/
accesskey
String
必須
AWSアクセスキーID。
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 (FunctionID/FuncId): 223。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enabled
String
必須
SNIホワイトリストを有効にするかどうかを指定します。 有効な値:
on
off
on
common_name_whitelist
String
任意
SNIホワイトリストに追加するドメイン名。 ドメイン名はコンマ (,) で区切ります。 ホワイトリストのドメイン名は認証されたと見なされます。
example.com
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "common_name_whitelist", "argValue": "example.com" }], "functionName": "origin_certificate_verification" }], "DomainNames": "example.com" }
origin_dns_ホスト
機能の説明: 条件付きオリジンを設定します。 この機能をルールエンジン機能 (機能: 条件、機能ID: 250) と組み合わせて使用すると、ユーザーリクエストのパス、URLパラメーター、またはヘッダーに基づいて、指定したオリジンサーバーからコンテンツを取得できます。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
前提条件: 条件付きオリジンを設定する前に、ルールエンジン機能を使用して少なくとも1つのルールが作成されます。 条件付きオリジンを設定するときは、ルールが条件付きオリジンに関連付けられていることを確認してください。 詳細については、「ルールエンジン」をご参照ください。 ルールを条件付きオリジンに関連付けない場合、すべてのオリジントラフィックはオリジンサーバーに送信されます。 このように、条件付きオリジンフェッチは実装されません。
機能の競合: 条件付きオリジン機能が高度なオリジン機能と競合します (機能: advanced_origin、機能ID: 235) 。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 機能にスイッチパラメーターがあり、パラメーターがオフになっている場合、機能は引き続き設定されていると見なされます。
機能ID (FunctionID/FuncId): 212。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ali_origin_dns_host
String
必須
オリジンフェッチのドメイン名。
example.com
例: parentidを、ルールエンジン機能 (function: condition、feature ID: 250) を使用してルールを参照してルールを作成するときに生成されるConfigIdの値に設定します。 リクエストがルールに一致する場合、リクエストはルールで指定されたオリジンサーバーにリダイレクトされます。
{ "Functions": [{ "functionArgs": [{ "argName": "ali_origin_dns_host", "argValue": "example.com" }], "functionName": "origin_dns_host", "parentId":30119730104**** }], "DomainNames": "example.com" }
origin_host
機能の説明: 各オリジンのオリジンホストを構成します。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 242。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
起源
String
必須
配信元サーバーのアドレス。 オリジンアドレスを指定しない場合、オリジンパラメータは自動的にallに設定されます。
example.com
host
String
必須
ホスト。 ホストとしてオリジンサーバーのアドレスを使用するには、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.example.com
になります。{ "Functions": [{ "functionArgs": [{ "argName": "origin", "argValue": "all" }, { "argName": "host", "argValue": "host.example.com" }], "functionName": "origin_host" }], "DomainNames": "example.com" }
例3: ユーザーリクエストがすべてのオリジンサーバーにリダイレクトされた場合、originの値は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_スキーム
機能の説明: オリジンポートとプロトコルを設定します。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 276。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
port
String
必須
オリジンポート。
説明schemeがfollowに設定されている場合は、
http:80 | https:443
の形式で値を設定します。80
scheme
String
必須
オリジンプロトコル。 有効な値: http、https、follow、https_sm、follow_sm。
http: HTTP。
https: HTTPS。
follow: クライアントによって使用されるプロトコル。
クライアントがHTTPプロトコルを使用する場合、HTTPプロトコルがオリジンフェッチに使用されます。
クライアントがHTTPSプロトコルを使用する場合:
クライアントがRSAアルゴリズムを使用する場合、HTTPSプロトコルとRSAアルゴリズムがオリジンフェッチに使用されます。
クライアントがShangMi (SM) アルゴリズムを使用する場合、HTTPSプロトコルとRSAアルゴリズムがオリジンフェッチに使用されます。
https_sm: HTTPSプロトコルとSMアルゴリズムは、オリジンフェッチに使用されます。
follow_sm: クライアントによって使用されるHTTPまたはHTTPSプロトコル。 RSAおよびSMアルゴリズムがサポートされています。
クライアントがHTTPプロトコルを使用する場合、HTTPプロトコルがオリジンフェッチに使用されます。
クライアントがHTTPSプロトコルを使用する場合:
クライアントがRSAアルゴリズムを使用する場合、HTTPSプロトコルとRSAアルゴリズムがオリジンフェッチに使用されます。
クライアントがSMアルゴリズムを使用する場合、オリジンフェッチにはHTTPSプロトコルとSMアルゴリズムが使用されます。
説明RSAは、国際規格に準拠するアルゴリズムである。 SMは、中国の地域で広く使用されているアルゴリズムであり、国家暗号管理局によって認識されています。
http
例1: schemeパラメーターを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を構成します。 詳細については、「各オリジンのオリジンSNIの指定」をご参照ください。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 262。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
起源
String
必須
配信元サーバーのアドレス。 オリジンアドレスを指定しない場合、オリジンパラメータは自動的にallに設定されます。
example.com
sni_host
String
必須
SNIホスト。
このパラメーターは、
example.org
などの固定値に設定できます。オリジンサーバーのアドレスを使用するには、このパラメーターを
ali_follow_origin
に設定します。オリジンホストのアドレスを使用するには、このパラメーターを
ali_follow_host
に設定します。
example.org
keepalive_sni
String
任意
永続接続のSNIマッチングを有効にするかどうかを指定します。 有効な値:
on
off
説明SNIマッチングを有効にすると、異なる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: ユーザーリクエストがすべてのオリジンサーバーにリダイレクトされると、originの値は
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: ユーザーリクエストがすべてのオリジンサーバーにリダイレクトされると、originの値は
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
必須
配信元サーバーグループの名前。 名前は最大128バイトで、小文字、数字、およびアンダースコア (_) を使用できます。
example_origin
source_info
String
必須
オリジンサーバーに関する情報 (オリジンサーバーaddress_Priority_Weight_Portの形式) 。 複数入力する場合は、カンマ (,) で区切ります。
配信元サーバーアドレス: IPv4アドレス、IPv6アドレス、およびドメイン名を指定できます。
優先度: 値の範囲は1から65535です。 数字が小さいほど、優先度が高くなります。
重み: 値の範囲は1から100です。 異なるオリジンサーバーに送信されたリクエストの割合は、DCDNオリジンフェッチ中のオリジンサーバーの重みに基づいて割り当てられます。
ポート: 値の範囲は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
選択可能
オリジンフェッチの再試行回数。
3
retry_status_rule
Integer
選択可能
オリジンフェッチ再試行のステータスコード。 有効な値: 4xx、5xx、404、404-or-5xx、および4xx-or-5xx。 指定できる値は1つだけです。
404-or-5xx
failback_source
String
任意
バックアップに使用される基本的なオリジン情報。 有効な値:
on: オリジンサーバーグループ内のすべてのオリジンサーバーが使用できない場合、[基本設定] タブの [オリジン情報] セクションで設定されているオリジンサーバーアドレスが使用されます。
off: オリジンサーバーグループ内のすべてのオリジンサーバーが使用できない場合、オリジンサーバーが使用できないことを示す5xxステータスコードがクライアントに返されます。
on
説明オリジン再試行ロジック:
retry_times: オリジンのリトライ回数。
同じ配信元サーバーグループのIPアドレス間の再試行が許可されます。
再試行の最大数は、配信元サーバーグループで使用可能なIPアドレスの数によって異なります。
retry_timesパラメーターを設定しない場合、オリジンの再試行のデフォルトの回数は、3つのうちの小さい方と、使用可能なオリジンサーバーのIPアドレスの数です。
retry_timesパラメーターを指定した場合、オリジンの再試行回数は、retry_timesパラメーターの値と使用可能なオリジンIPアドレスの数の間の小さい値になります。
retry_status_rule: ポイントオブプレゼンス (POP) をトリガーして再試行するステータスコード。
retry_status_ruleパラメーターを指定しない場合、オリジンサーバーが5xxステータスコードを返したときにPOPが再試行します。
retry_status_ruleパラメーターを指定すると、オリジンサーバーが指定したステータスコードを返したときにPOPが再試行されます。 有効な値: 4xx、5xx、404、404-or-5xx、および4xx-or-5xx。 指定できる値は1つだけです。
retry_status_ruleパラメーターを指定すると、デフォルトのステータスコード5xxが有効になります。 たとえば、404ステータスコードが設定されている場合、404または5xxステータスコードが受信されたときにPOPが再試行します。
オリジンの再試行順序: 再試行順序は、オリジンサーバーグループのIPアドレスの優先順位に基づいて降順になります。
オリジンタイムアウト: POPは、オリジンサーバーから再試行ステータスコードを受信した後に再試行します。 オリジンサーバーから再試行ステータスコードを受信しない場合、タイムアウトプロセスが適用されます。 タイムアウト期間に達した後、POPは再試行をトリガされる。
オリジンサーバーとのTCP接続を確立するためのタイムアウト期間: 10秒。
オリジンサーバーの書き込みタイムアウト: オリジンサーバーとのTCP接続が確立された後のデータ書き込み期間。 値は30秒です。
オリジン読み取りタイムアウト: オリジンサーバーとの接続が確立された後、POPによって要求されたコンテンツをオリジンサーバーが返すまでの期間。 値は30秒です。
オリジンサーバーの探索ロジック:
異常なTCP接続: POPとオリジンサーバー間のTCP接続に異常がある場合、オリジンサーバーのIPアドレスがデッドテーブルに追加されます。 このように、後続の発信元リクエストはIPアドレスに送信されません。 POPは、5秒毎にIPアドレスをプローブする。 TCP接続を期待どおりに確立できる場合、オリジンサーバーのIPアドレスがデッドテーブルから削除され、使用可能なオリジンIPアドレスのリストに追加されます。
通常のTCP接続: POPとオリジンサーバー間のTCP接続は正常ですが、オリジンサーバーから再試行ステータスコード (5xxなど) が返された場合、オリジンサーバーのIPアドレスは使用可能なオリジンIPアドレスのリストから削除されません。 この場合、再試行ロジックがトリガーされ、後続のリクエストは引き続きオリジンサーバーのIPアドレスに送信されます。 POPとオリジンサーバー間のTCP接続が正常なときにレイヤー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
必須
IPv6経由でオリジンフェッチを有効にするかどうかを指定します。 有効な値:
on
off
説明この機能を有効にすると、オリジンサーバーはIPv6サービスを提供します。
POPと配信元サーバーの両方に使用可能なIPv6アドレスがある場合は、IPv6接続が使用されます。
IPv4接続は、次のシナリオで確立されます。
POPには使用可能なIPv6アドレスがありません。
配信元サーバーには使用可能なIPv6アドレスがありません。
POPと配信元サーバーには使用可能なIPv6アドレスがありません。
on
フォロー
String
必須
クライアントが使用するIPプロトコルのバージョンに従うかどうかを指定します。 有効な値:
on
off
説明この機能を有効にすると、クライアント要求のIPバージョンがオリジンフェッチに使用されます。
クライアント要求がIPv6を使用する場合、IPv6を使用するオリジンサーバーがオリジンフェッチに使用されます。 IPv6を使用するオリジンサーバーがない場合、IPv4を使用するオリジンサーバーがオリジンフェッチに使用されます。
クライアント要求がIPv4を使用する場合、IPv4を使用するオリジンサーバーがオリジンフェッチに使用されます。 IPv4を使用するオリジンサーバーがない場合、IPv6を使用するオリジンサーバーがオリジンフェッチに使用されます。
on
ipv6_v4_mix_used
String
任意
IPv4/IPv6ポーリング機能を有効にするかどうかを指定します。 有効な値:
on
off
説明この機能は、IPv6およびIPプロトコルを介したオリジンフェッチと相互に排他的です。
IPv4/IPv6ポーリング機能が有効になっている場合、リクエストがIPv4経由で送信されるかIPv6経由で送信されるか、またはオリジンサーバーに存在するIPv4アドレスとIPv6アドレスの数に関係なく、ポーリングを使用してオリジンフェッチのオリジンサーバーのIPアドレスを決定します。
IPv4アドレスとIPv6アドレスの重み比を設定すると、重み比に基づいてオリジンフェッチが実行されます。
off
例:
{ "関数": [{ "functionArgs": [{ "argName": "enable" 、 "argValue": "on" },{ "argName": "follow" 、 "argValue": "on" }], "functionName": "ipv6_origin" }], "DomainNames": "example.com" }
cos_auth
機能の説明: Tencent Cloud Object Service (COS) 認証を設定します。 この機能は、アカウントがホワイトリストに追加された後にのみ使用できます。 この機能を使用するには、チケットを起票
機能ID (FunctionID/FuncId): 288。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
COS認証を有効にするかどうかを指定します。 有効な値:
on
off
on
cos_valid_period
String
任意
認証署名の有効期間。 単位は秒です。 デフォルト値は 3600 です。
/
cos_secret_id
String
必須
Tencent Cloudの認証ID。
123456789
cos_secret_key
String
必須
Tencent Cloudの認証キー。
12345678
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" },{ "argName": "follow", "argValue": "on" }], "functionName": "ipv6_origin" }], "DomainNames": "example.com" }
oss_auth
機能の説明: DCDNのオリジンとして使用されるOSSバケットで認証を設定します。
特徴ID (FunctionID/FuncId): 10.
注: 高速化ドメイン名のオリジンサーバーとしてOSSバケットを設定すると、システムは自動的にoss_auth設定を追加します。 oss_auth設定を削除しないでください。 そうしないと、DCDNとOSS間のデータ転送用に設計された優先料金を享受できません。 また、プライベートOSSバケットの認証を有効にしてoss_auth設定を削除した場合、DCDNがプライベートOSSバケットからデータをフェッチしようとすると、認証は失敗します。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
oss_bucket_id
String
必須
OSSバケットのパブリックドメイン名。
dcdn-test.oss-cn-hongkong.aliyuncs.com
oss_pri_buckets
String
必須
OSSバケットのパブリックドメイン名とバケット名。
dcdn-test.oss-cn-hongkong.aliyuncs.com | dcdn-test
例:
{ "Functions": [ { "ArgValue": "dcdn-test.oss-cn-hongkong.aliyuncs.com", "ArgName": "oss_bucket_id" }, { "ArgValue": "dcdn-test.oss-cn-hongkong.aliyuncs.com|dcdn-test", "ArgName": "oss_pri_buckets" } ], "functionName": "oss_auth" }], "DomainNames": "example.com" }
キャッシュ設定
filetype_based_ttl_set
機能の説明: ファイルの有効期間 (TTL) を設定します。 詳細については、「リソースのキャッシュルールの追加」をご参照ください。
特徴ID (FunctionID/FuncId): 6.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ttl
Integer
必須
TTL。 単位は秒です。 有効な値: 1〜99999999 (3年以上) 。
500000
file_type
String
必須
大文字と小文字を区別するファイル名の拡張子。 ファイル名の拡張子はコンマ (,) で区切ります。 例: jpg、txt。
jpg
重み
Integer
選択可能
体重。 有効な値: 1 ~ 99。
説明デフォルト値は 1 です。 値が大きいほど優先度が高いことを示す。
1
swift_origin_cache_high
String
任意
cache-ControlやPragmaなど、オリジンサーバーがキャッシュ関連のヘッダーに応答するときに、オリジンサーバーのキャッシュポリシーが優先されるかどうかを指定します。 有効な値:
on
off (デフォルト)
off
swift_no_cache_low
String
任意
配信元サーバーからの次の応答ヘッダーを無視するかどうかを指定します。 このパラメーターがonに設定されている場合、リソースはキャッシュされません。
キャッシュ制御: no-store
Cache-Control: no-cache
キャッシュ制御: max-age=0
Pragme: キャッシュなし
有効な値:
on
off (デフォルト)
off
swift_follow_cachetime
String
任意
クライアントがDCDNによって使用されるキャッシュポリシーを使用するかどうかを指定します。 有効な値:
on
off (デフォルト)
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" }], "functionName": "filetype_based_ttl_set" }], "DomainNames": "example.com" }
path_based_ttl_set
機能の説明: ディレクトリのTTLを設定します。 詳細については、「リソースのキャッシュルールの追加」をご参照ください。
特徴ID (FunctionID/FuncId): 7.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ttl
Integer
必須
TTL。 単位は秒です。 有効な値: 1〜99999999 (3年以上) 。
500000
パス
String
必須
ディレクトリ。 ディレクトリはスラッシュ (/) で始める必要があります。
/例 /デモ
重み
Integer
選択可能
体重。 有効な値: 1 ~ 99。
説明デフォルト値は 1 です。 値が大きいほど優先度が高いことを示す。
1
swift_origin_cache_high
String
任意
cache-ControlやPragmaなど、オリジンサーバーがキャッシュ関連のヘッダーに応答するときに、オリジンサーバーのキャッシュポリシーが優先されるかどうかを指定します。 有効な値:
on
off (デフォルト)
off
swift_no_cache_low
String
任意
配信元サーバーからの次の応答ヘッダーを無視するかどうかを指定します。 このパラメーターがonに設定されている場合、リソースはキャッシュされません。
キャッシュ制御: no-store
Cache-Control: no-cache
キャッシュ制御: max-age=0
Pragme: キャッシュなし
有効な値:
on
off (デフォルト)
off
swift_follow_cachetime
String
任意
クライアントがDCDNによって使用されるキャッシュポリシーを使用するかどうかを指定します。 有効な値:
on
off (デフォルト)
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" }], "functionName": "path_based_ttl_set" }], "DomainNames": "example.com" }
filetype_force_ttl_コード
機能の説明: ファイルのHTTPステータスコードのTTLを設定します。 詳細については、「HTTP ステータスコードに対するキャッシュルールの作成」をご参照ください。
特徴ID (FunctionID/FuncId): 63。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
file_type
String
必須
大文字と小文字を区別するファイル名の拡張子。 ファイル名の拡張子はコンマ (,) で区切ります。 例: jpg、txt。
jpg
code_string
String
必須
ステータスコードとそのTTL。 TTLは秒単位で測定されます。 最大TTLは3年です。 複数入力する場合は、カンマ (,) で区切ります。 例: 302=0,301=0,4xx=2。
403=10
swift_origin_cache_high
String
任意
cache-ControlやPragmaなど、オリジンサーバーがキャッシュ関連のヘッダーに応答するときに、オリジンサーバーのキャッシュポリシーが優先されるかどうかを指定します。 有効な値:
on
off (デフォルト)
off
swift_no_cache_low
String
任意
配信元サーバーからの次の応答ヘッダーを無視するかどうかを指定します。 このパラメーターがonに設定されている場合、リソースはキャッシュされません。
キャッシュ制御: no-store
Cache-Control: no-cache
キャッシュ制御: max-age=0
Pragme: キャッシュなし
有効な値:
on
off (デフォルト)
off
swift_follow_cachetime
String
任意
クライアントがDCDNによって使用されるキャッシュポリシーを使用するかどうかを指定します。 有効な値:
on
off (デフォルト)
off
例:
{ "Functions": [{ "functionArgs": [{ "argName": "file_type", "argValue": "jpg" }, { "argName": "code_string", "argValue": "403=10" }, { "argName": "swift_origin_cache_high", "argValue": "off" }, { "argName": "swift_no_cache_low", "argValue": "off" }, { "argName": "swift_follow_cachetime", "argValue": "off" }], "functionName": "filetype_force_ttl_code" }], "DomainNames": "example.com" }
path_force_ttl_コード
機能の説明: ディレクトリのHTTPステータスコードのTTLを設定します。 詳細については、「HTTP ステータスコードに対するキャッシュルールの作成」をご参照ください。
特徴ID (FunctionID/FuncId): 65。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
パス
String
必須
ディレクトリ。 ディレクトリはスラッシュ (/) で始める必要があります。 例: /image.
/例 /デモ
code_string
String
必須
ステータスコードとそのTTL。 単位は秒です。 有効な値: 1〜99999999 (3年以上) 。 複数のキーと値のペアはコンマ (,) で区切ります。 例: 302=0,301=0,4xx=2。
403=10,404=15
swift_origin_cache_high
String
任意
cache-ControlやPragmaなど、オリジンサーバーがキャッシュ関連のヘッダーに応答するときに、オリジンサーバーのキャッシュポリシーが優先されるかどうかを指定します。 有効な値:
on
off (デフォルト)
off
swift_no_cache_low
String
任意
配信元サーバーからの次の応答ヘッダーを無視するかどうかを指定します。 このパラメーターがonに設定されている場合、リソースはキャッシュされません。
キャッシュ制御: no-store
Cache-Control: no-cache
キャッシュ制御: max-age=0
Pragme: キャッシュなし
有効な値:
on
off (デフォルト)
off
swift_follow_cachetime
String
任意
クライアントがDCDNによって使用されるキャッシュポリシーを使用するかどうかを指定します。 有効な値:
on
off (デフォルト)
off
例:
{ "Functions": [{ "functionArgs": [{ "argName": "path", "argValue": "/example/demo" }, { "argName": "code_string", "argValue": "403=10,404=15" }, { "argName": "swift_origin_cache_high", "argValue": "off" }, { "argName": "swift_no_cache_low", "argValue": "off" }, { "argName": "swift_follow_cachetime", "argValue": "off" }], "functionName": "path_force_ttl_code" }], "DomainNames": "example.com" }
default_ttl_コード
機能の説明: オリジンに従うステータスコードの有効期限ルールを設定します。
機能ID (FunctionID/FuncId): 207。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
default_ttl_code
String
必須
ステータスコードとそのTTL。 単位は秒です。 有効な値: 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_ヘッダー
機能の説明: カスタムHTTP応答ヘッダーを構成します。 詳細については、「HTTPレスポンスヘッダーの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 27。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
キー
String
必須
応答ヘッダー。
Cache-Control
value
String
必須
ヘッダー値。 ヘッダー値はコンマ (,) で区切ります。
説明レスポンスヘッダーを削除する場合は、ヘッダー値をnullに設定します。
no-cache
header_operation_type
String
任意
リクエストヘッダーに対して実行する操作。 有効な値:
add
delete
修正
rewrite
add
複製
String
任意
リクエストヘッダーの重複を許可するかどうかを指定します。 header_operation_typeパラメーターをaddに設定する場合は、このパラメーターを指定する必要があります。
on
off
off
header_source
String
任意
置き換えるヘッダー値。The header value that you want to replace. このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。 正規表現に対応しています。
value1
header_destination
String
任意
元のヘッダー値を置き換えるために使用されるヘッダー値。 このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。
value123
match_all
String
任意
マッチモード。 このパラメーターは、header_operation_typeパラメーターを書き換えに設定する場合に必要です。 有効な値:
on: 検索条件に一致するすべてのヘッダー値が置き換えられます。
off: 検索条件に一致する最初の値のみが置き換えられます。
/
access_origin_control
String
任意
クロスオリジンリソース共有 (CORS) を有効にするかどうかを指定します。
on
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" }
エラー_ページ
機能の説明: カスタムエラーページを構成します。 詳細については、「カスタムエラーページの作成」をご参照ください。
特徴ID (FunctionID/FuncId): 15.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
error_code
Integer
必須
HTTP ステータスコード
404
rewrite_page
String
必須
リクエストのリダイレクト先のページ。
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書き換えルールを設定します。 詳細については、「URI書き換えルールの作成」をご参照ください。
特徴ID (FunctionID/FuncId): 43。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
regex
String
必須
書き換えたいURI。 先頭はスラッシュ (/) である必要があり、http:// またはドメイン名を含めることはできません。 Perl Compatible Regular Expressions (PCRE) を使用して、^/hello $などのURIを指定できます。
^/hello$
replacement
String
必須
最後のURI。 先頭はスラッシュ (/) である必要があり、http:// またはドメイン名を含めることはできません。
/hello/test
flag
String
任意
URIが書き換えられた後にPOPが実行する操作。 有効な値:
empty: デフォルト値で、flagパラメーターが指定されていないことを示します。 複数のルールが設定され、リクエスト内のURLがルールと一致する場合、現在のルールが実行された後、リクエストは他のルールと照合されます。
break: リクエストのURLがルールと一致する場合、リクエストされたURLは最終URLによって上書きされます。 元のURLのパラメータは変更されません。 現在のルールが実行された後、他のルールはスキップされます。
redirect: リクエスト内のURLがルールと一致する場合、DCDNはHTTPステータスコード302を返し、リクエストは最終URLにリダイレクトされます。 POPによってクライアントに返される応答メッセージのLocationヘッダーの値が最終URLです。 元のURLのパラメータは変更されません。 現在のルールが実行された後、リクエストは他のルールと照合されます。
enhance_break: enhance_breakはbreakに似ていますが、enhance_breakはパラメーターを含めてURLを変更します。
enhance_redirect: enhance_redirectはredirectに似ていますが、enhance_redirectはパラメーターを含めてURLを変更します。
説明異なるルールは異なる書き換え方法を使用し、書き換えられたURLが他のドメイン名や他のプロトコルをサポートするかどうかも異なります。
empty、break、enhance_breakはリクエストのURLを書き換えますが、URLのドメイン名やプロトコルを変更することはできません。 たとえば、プロトコルをHTTPからHTTPSに変更することはできません。
redirectおよびenhance_redirectは、302リダイレクトを使用してURLを書き換え、URL内のドメイン名またはプロトコルを変更できます。
302 Locationヘッダーを現在のドメイン名または別のドメイン名に設定できます。 このように、元のURLはe example.comドメイン名を使用し、書き換えられたURLはe aliyundoc.comドメイン名を使用します。
302 リダイレクション応答の位置302ヘッダは、異なるプロトコルをサポートする。 このように、元のURLはHTTPプロトコルを使用し、書き換えられたURLはHTTPSプロトコルを使用します。
リダイレクト
rewrite_method
String
任意
リダイレクト方法。 有効な値: 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 (FunctionID/FuncId): 227。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ウリ
文字列の配列
選択可能
URIを書き換え、最終的なURIをキャッシュキーとして保存します。
uri_to_rewrite: 書き換えたい元のURI。
ai_uri_regex: 最終的なURI。
[{"uri_to_rewrite":"/hello","ai_uri_regex":"/hello/test"}]
args
文字列の配列
選択可能
リクエストにパラメーターを追加、削除、変更、または保持するかどうかを指定し、最終的なURIをキャッシュキーとして保存します。 有効な値:
args_operation_type: 実行する操作。 有効な値: add、delete、modify、keep。
args: 追加、削除、変更、または保持するコンテンツ。
[{"args":"test=123","args_operation_type":"add"}]
headers
String
任意
URIとキャッシュキーに追加するHTTPヘッダー。 複数のヘッダーをスペースで区切ります。
example
variable
文字列の配列
選択可能
カスタム変数。 正規表現を使用して、リクエストパラメーター、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
必須
現在のドメイン名でキャッシュを共有するドメイン名。 このパラメーターを設定しても、リクエストの配信元ホストは変更されません。 share_hostの値は、クエリのキャッシュキーを生成するために使用されます。
example.com
例:
{ "Functions": [{ "functionArgs": [{ "argName": "share_host", "argValue": "example.com" }], "functionName": "rewrite_host" }], "DomainNames": "example.com" }
serving_stale_content
機能の説明: 古いコンテンツを提供するようにPOPを設定します。
機能ID (FunctionID/FuncId): 260。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
origin_error_status_code
String
任意
オリジンサーバーに到達できない場合に返されるHTTPステータスコード。
デフォルトでは、このパラメータは空のままです。 通常、オリジン応答がタイムアウトし、HTTPステータスコード5xxが返された場合、オリジンに到達できないと見なされます。
ファジーマッチには4xxまたは5xxを入力するか、502や504などの正確なステータスコードを入力できます。 複数のステータスコードはコンマ (,) で区切ります。
502
extend_expiration_time
Integer
選択可能
古いTTL。オリジンサーバーに到達できない場合にDCDNが古いコンテンツを提供できる期間を定義します。
デフォルトでは、このパラメーターは空のままです。これは、DCDNが古いコンテンツを1時間提供することを示します。
値は1以上の正の整数でなければなりません。 単位は秒です。
60
origin_first
String
任意
オリジンポリシーを適用するかどうかを指定します。
このパラメーターをonに設定し、配信元サーバーからの応答に
Cache-Control: stale-If-error=xx
が含まれている場合、POPはstale-if-errorで指定された時間の間、古いコンテンツを提供します。デフォルトでは、このパラメータは空のままです。これは値offに相当します。 この場合、POPは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パラメーターを設定します。 詳細については、「SSL証明書の設定」、「HTTP/2の設定」、および「OCSPステープルの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 78。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
http2
String
任意
HTTP/2を有効にするかどうかを指定します。 有効な値:
on
off
on
ocsp_stapling
String
任意
オンライン証明書ステータスプロトコル (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) 。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 機能にスイッチパラメーターがあり、パラメーターがオフになっている場合、機能は引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 45。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
HTTPへの強制リダイレクトを有効にするかどうかを指定します。 有効な値:
on
off
on
http_rewrite
String
任意
リダイレクト方法。 有効な値: 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) 。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 44。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
HTTPSへの強制リダイレクトを有効にするかどうかを指定します。 有効な値:
on
off
on
https_rewrite
String
任意
リダイレクト方法。 有効な値: 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
任意
TLS 1.0を有効にするかどうかを指定します。 有効な値:
on (デフォルト)
off
on
tls11
String
任意
TLS 1.1を有効にするかどうかを指定します。 有効な値:
on
off
on
tls12
String
任意
TLS 1.2を有効にするかどうかを指定します。 有効な値:
on
off
on
tls13
String
任意
TLS 1.3を有効にするかどうかを指定します。 有効な値:
on
off
on
暗号化グループ
String
任意
暗号スイートグループ。 有効な値:
all (デフォルト): すべての暗号スイート。
strict: 強化された暗号スイート。
custom: カスタム暗号スイート。
all
ciphersuite
String
任意
暗号スイート。 このパラメーターは、ciphersuitegroupパラメーターと一緒に使用されます。 複数の暗号スイートをコンマ (,) で区切ります。
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
例:
TLS 1.0、1.1、および1.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" }
TLS 1.2と1.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" }
TLS 1.2と1.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" }
HSTS
機能の説明: HTTP厳密トランスポートセキュリティ (HSTS) を構成します。 詳細については、「HSTS の設定」をご参照ください。
機能ID (FunctionID/FuncId): 112。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enabled
String
必須
HSTSを有効にするかどうかを指定します。 有効な値:
on
off
on
https_hsts_max_age
Integer
必須
TTL。 単位は秒です。
説明値を5184000 (60日) に設定することを推奨します。
5184000
https_hsts_include_subdomains
String
任意
HSTSヘッダーにサブドメインを含めるかどうかを指定します。 有効な値: onとoff。
説明この機能を有効にするときは注意してください。 高速化ドメイン名のすべてのサブドメインでHTTPSが有効になっていることを確認します。 そうしないと、サブドメインからリクエストがリダイレクトされるHTTPS URLにアクセスできなくなります。
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_black_list_set、機能ID: 5) 。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 機能にスイッチパラメーターがあり、パラメーターがオフになっている場合、機能は引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 1.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
refer_domain_allow_list
String
必須
リファラーホワイトリストに追加するドメイン名。 複数のドメイン名はコンマ (,) で区切ります。
example.aliyundoc.com,demo.aliyundoc.com
allow_empty
String
任意
Refererヘッダーが空のリクエストがDCDNリソースにアクセスできるようにするかどうかを指定します。 有効な値:
on
off (デフォルト)
off
redirect_url
String
任意
リダイレクトURL。 リクエストのReferer情報がホワイトリストの情報と一致しない場合、リクエストがブロックされた後、403ステータスコードは返されません。 この場合、302ステータスコードとLocationヘッダーが返されます。 このパラメーターはLocationヘッダーの値で、http:// またはhttps:// で始まります。
http://www.example.com
disable_ast
String
任意
ホワイトリスト内のドメイン名の完全一致を有効にするかどうかを指定します。 デフォルト値:off このパラメーターをonに設定すると、ドメイン名の完全一致が有効になります。
このパラメーターをonに設定すると、次のルールが適用されます。
完全一致がサポートされています。
ホワイトリストに
example.com
を追加すると、example.com
が一致します。ホワイトリストに
a*b.example.com
を追加すると、<Any文字s>b.example.com
が一致します。
接尾辞の一致はサポートされていません。
このパラメーターをoffに設定すると、次のルールが適用されます。
完全一致はサポートされていません。
接尾辞の一致がサポートされています。
ホワイトリストに
example.com
を追加すると、example.com
と<任意の文字s>.example.com
が一致します。ホワイトリストに
a*b.example.com
を追加すると、<Any文字s>b.example.com
と<Any文字>.a<Any文字s>b.example.com
が一致します。
off
ignore_scheme
String
任意
schemeパラメーターを無視するかどうかを指定します。 この機能を有効にした後、リクエスト内のリファラーにHTTPまたはHTTPSヘッダーがない場合でも、リファラーは有効と見なされます。 例:
このパラメーターをonに設定すると、リファラーは次の形式になります。
referer: www.example.com
このパラメーターをoffに設定すると、リファラーは次の形式になります。
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_white_list_set、機能ID: 1) 。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 5.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
refer_domain_deny_list
String
必須
リファラーブラックリストに追加するドメイン名。 複数のドメイン名はコンマ (,) で区切ります。
example.aliyundoc.com,demo.aliyundoc.com
allow_empty
String
任意
Refererヘッダーが空のリクエストがDCDNリソースにアクセスできるようにするかどうかを指定します。 有効な値:
on
off
off
redirect_url
String
任意
リダイレクトURL。 リクエストのReferer情報がブラックリストの情報と一致する場合、リクエストがブロックされた後、403ステータスコードは返されません。 この場合、302ステータスコードとLocationヘッダーが返されます。 このパラメーターはLocationヘッダーの値で、http:// またはhttps:// で始まります。
http://www.example.com
disable_ast
String
任意
ブラックリスト内のドメイン名の完全一致を有効にするかどうかを指定します。 デフォルト値:off このパラメーターをonに設定すると、ドメイン名の完全一致が有効になります。
このパラメーターをonに設定すると、次のルールが適用されます。
完全一致がサポートされています。
ブラックリストに
example.com
を追加すると、example.com
が一致します。ブラックリストに
a*b.example.com
を追加すると、<Any character s>b.example.com
が一致します。
接尾辞の一致はサポートされていません。
このパラメーターをoffに設定すると、次のルールが適用されます。
完全一致はサポートされていません。
接尾辞の一致がサポートされています。
ブラックリストに
example.com
を追加すると、example.com
と<任意の文字s>.example.com
が一致します。ブラックリストに
a*b.example.com
を追加すると、<Any character s>b.example.com
と<Any characters>.a<Any character s>b.example.com
が一致します。
off
ignore_scheme
String
任意
schemeパラメーターを無視するかどうかを指定します。 この機能を有効にした後、リクエスト内のリファラーにHTTPまたはHTTPSヘッダーがない場合でも、リファラーは有効と見なされます。 例:
このパラメーターをonに設定すると、リファラーは次の形式になります。
referer: www.example.com
このパラメーターをoffに設定すると、リファラーは次の形式になります。
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
任意
M3U8書き換えを有効にするかどうかを指定します。 M3U8書き換えはTSファイルへのアクセスを認証します。 M3U8の書き換えが無効の場合、TSファイルへのアクセスが拒否されます。 有効な値: onとoff。 デフォルト値 : on。
on
auth_type
String
必須
署名タイプ。 有効な値:
no_auth: URL署名を無効にします。
type_a: タイプAの署名を有効にします。
type_b: タイプB署名を有効にします。
type_c: タイプCの署名を有効にします。
type_f: タイプF署名を有効にします。
type_a
auth_key1
String
必須
暗号鍵1. キーの長さは16 ~ 128文字で、英数字を使用できます。
1234567890123456789
auth_key2
String
任意
暗号鍵2. キーの長さは16 ~ 128文字で、英数字を使用できます。
1234567890123456789
ali_auth_delta
Integer
選択可能
暗号化されたURLの有効期間。 単位は秒です。 デフォルト値: 1800
1800
req_auth_ip_white
String
任意
IPアドレスホワイトリスト。 ホワイトリストのIPアドレスは認証のために検証されません。
複数のIPアドレスを入力できます。 複数の IP アドレスはカンマ (,) で区切ります。
192.168.0.1
req_auth_ip_acl_xfwd
String
任意
IPアドレス検証モード。 有効な値:
on: これはデフォルトモードです。 このモードは、クライアントIPアドレスのみを検証します。 クライアントIPアドレスは、クライアント要求のXFFヘッダーの最初のIPアドレスです。
off: このモードでは、クライアントがPOPに接続するために使用するIPアドレスのみを検証します。
all: このモードは、次のIPアドレスを検証します。
XFFヘッダーの最初のIPアドレス。クライアントIPアドレスです。
POPに接続するためにクライアントが使用するIPアドレス。
all
sign_param
String
任意
署名パラメーターの名前。 このパラメーターは、auth_typeパラメーターがtype_fに設定されている場合にのみ有効です。
sign
time_param
String
任意
timestampパラメーターの名前。 このパラメーターは、auth_typeパラメーターがtype_fに設定されている場合にのみ有効です。
time
time_format
String
任意
この値は UNIX タイムスタンプです。 このパラメーターは、auth_typeパラメーターがtype_fに設定されている場合にのみ有効です。
dec: decimal。
hex: 16進数。
hec
path_encoding
String
任意
URLエンコードを有効にするかどうかを指定します。 有効な値: onとoff。 このパラメーターは、auth_typeパラメーターがtype_fに設定されている場合にのみ有効です。
on
例:
{ "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" }{ "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
必須
リモート認証を有効にするかどうかを指定します。 有効な値:
on
off
on
remote_auth_addr
String
必須
認証サーバーのアドレス。 形式:
https://dcdn.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
必須
ファイル名の拡張子。 ファイル名の拡張子は縦棒 (|) で区切ります。 値は大文字と小文字を区別します。 たとえば、jpgはJPGとは異なります。 値はすべてのファイル名拡張子を指定します。
all
remote_auth_reserve_args
String
必須
保持するパラメーター。 パラメータは縦棒 (|) で区切ります。 値は大文字と小文字を区別しません。 たとえば、keyはKEYに相当します。
all: すべてのパラメータを保持します。
ali_delete_all_args: URL内のすべてのパラメーターを削除します。
all
remote_auth_custom_args
String
任意
追加するパラメーター。 パラメータは縦棒 (|) で区切ります。 値は大文字と小文字を区別します。 たとえば、keyはKEYとは異なります。
なし
remote_auth_reserve_header
String
必須
保持するリクエストヘッダー。 リクエストヘッダーは縦棒 (|) で区切ります。 値は大文字と小文字を区別しません。 たとえば、http_remote_addrはHTTP_Remote_Addrと同じです。
all: すべてのリクエストヘッダーを保持します。
ali_delete_all_headers: すべてのリクエストヘッダーを削除します。
all
remote_auth_custom_header
String
任意
追加するリクエストヘッダー。 リクエストヘッダーは縦棒 (|) で区切ります。 値は大文字と小文字を区別しません。 たとえば、http_remote_addrはHTTP_Remote_Addrと同じです。
なし
remote_auth_success_code
Integer
必須
リクエストが認証に合格したときにDCDNに返されるHTTPステータスコード。 例: 200。 複数の HTTP ステータスを指定する場合、コードをコンマ (,) で区切ります。
200
remote_auth_fail_code
Integer
必須
リクエストが認証に失敗したときにDCDNに返されるHTTPステータスコード。 例: 403。 複数の HTTP ステータスを指定する場合、コードをコンマ (,) で区切ります。
403,404
remote_auth_other_code_act
String
任意
DCDNに返されたHTTPステータスコードが、リクエストが認証に合格または失敗したことを示していない場合に実行する操作。 有効な値:
pass (デフォルト): DCDNはリクエストを許可します。
reject: DCDNはリクエストを拒否します。
パス
remote_auth_fail_resp_code
Integer
必須
リクエストが認証に失敗したときにDCDNによって返されるHTTPステータスコード。 たとえば、このパラメーターを403に設定した場合、リクエストが認証に失敗したときに、DCDNはHTTP 403のステータスコードをユーザーに返します。
403
remote_auth_timeout
Integer
必須
認証タイムアウト期間。 単位:ミリ秒。 最大値: 3000。
500
remote_auth_timeout_action
String
必須
認証がタイムアウトしたときに実行されるアクション。 有効な値:
pass: DCDNはリクエストを許可します。
reject: DCDNは、認証失敗に対して指定されたHTTPステータスコードをユーザーに返します。
パス
例:
{ "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) と競合します。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 69。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ip_list
String
必須
ホワイトリストに追加するIPアドレス。 複数の IP アドレスはカンマ (,) で区切ります。
192.168.0.1/24
ip_acl_xfwd
String
任意
X-Forwarded-ForヘッダーのIPアドレスを検証に使用するかどうかを指定します。 有効な値:
on (デフォルト): 検証に
X-Forwarded-For
リクエストヘッダーの最初のIPアドレスを使用します。off: 検証に
POPへの接続に使用されるIPアドレス
を使用します。all:
X-Forwarded-For
リクエストヘッダーの最初のIPアドレスと、検証のためにPOPへの接続に使用されるIPアドレス
の両方を使用します。
all
例:
{ "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) 。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 13.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ip_list
String
必須
ブラックリストに追加するIPアドレス。 複数の IP アドレスはカンマ (,) で区切ります。
192.168.0.1
ip_acl_xfwd
String
任意
X-Forwarded-ForヘッダーのIPアドレスを検証に使用するかどうかを指定します。 有効な値:
on (デフォルト): 検証に
X-Forwarded-For
リクエストヘッダーの最初のIPアドレスを使用します。off: 検証に
POPへの接続に使用されるIPアドレス
を使用します。all:
X-Forwarded-For
リクエストヘッダーの最初のIPアドレスと、検証のためにPOPへの接続に使用されるIPアドレス
の両方を使用します。
all
例:
{ "Functions": [{ "functionArgs": [{ "argName": "ip_list", "argValue": "192.168.0.1" }], "functionName": "ip_black_list_set" }], "DomainNames": "example.com" }
ali_ua
機能の説明: User-Agentのホワイトリストまたはブラックリストを設定します。 詳細については、「User-Agentブラックリストまたはホワイトリストの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 58。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ua
String
必須
ホワイトリストまたはブラックリストに追加するユーザーエージェント。 アスタリスク (*) を使用して、任意の文字を一致させ、複数の値を指定できます。 値は縦棒 (|) で区切ります。 例:
* curl * | * IE * | * chrome * | * firefox *
* curl * | * IE * | * chrome * | * firefox *
type
String
必須
リストのタイプ。 有効な値:
black: ブラックリスト。
white: ホワイトリスト。
説明ブラックリストとホワイトリストは互いに排他的です。 有効にできるリストは1種類だけです。
black
例:
{ "Functions": [{ "functionArgs": [{ "argName": "ua", "argValue": "*curl*|*IE*|*chrome*|*firefox*" }, { "argName": "type", "argValue": "black" }], "functionName": "ali_ua" }], "DomainNames": "example.com" }
パフォーマンス向上
テスラ
機能の説明: HTML最適化を設定します。 詳細については、「HTML最適化の設定」をご参照ください。
特徴ID (FunctionID/FuncId): 16.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
HTML最適化を有効にするかどうかを指定します。 有効な値:
on
off
on
trim_js
String
任意
HTMLページのJavaScriptコードを最適化するかどうかを指定します。 有効な値:
on
off (デフォルト)
off
trim_css
String
任意
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
必須
Gzip圧縮を有効にするかどうかを指定します。 有効な値:
on
off
on
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "gzip" }], "DomainNames": "example.com" }
ブロトリ
機能の説明: Brotli圧縮を設定します。 詳細については、「Brotli圧縮の設定」をご参照ください。
特徴ID (FunctionID/FuncId): 97。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
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) と競合します。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 19.
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
hashkey_args
String
任意
保持するパラメーター。 最大10個のパラメーターを指定できます。 パラメーターはコンマ (,) で区切ります。
key1,key2
disable
String
必須
すべてのパラメーターを無視するかどうかを指定します。 デフォルト値:off
on: すべてのパラメータを無視します。 [追加] ルールのみが有効になります。 削除、保持、および変更のルールは有効になりません。
off: パラメータを無視しません。 保持、追加、および削除のルールは引き続き有効です。
説明hashkey_args設定の優先度が高くなります。 このパラメーターをonに設定しても、hashkey_argsで指定されたパラメーターは保持されます。
on
keep_oss_args
String
必須
オリジンフェッチ中にパラメーターを保持するかどうかを指定します。 有効な値:
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) と競合します。 2つの機能のうち1つのみを使用できます。 いずれかの機能を設定した場合は、他の機能を設定する前に、その機能の設定を削除する必要があります。 DeleteDcdnSpecificConfigを呼び出して、ドメイン名の設定を削除できます。 フィーチャーにスイッチパラメーターがあり、パラメーターがオフに設定されている場合、フィーチャーは引き続き設定されていると見なされます。
特徴ID (FunctionID/FuncId): 75。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ali_remove_args
String
必須
削除するパラメータ。 複数ある場合は、パラメーターをスペースで区切ります。
説明保持されるパラメーターは、ハッシュキーのURLパラメーターとして使用されます。
test
keep_oss_args
String
必須
オリジンフェッチ中にパラメーターを保持するかどうかを指定します。 有効な値:
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
機能の説明: 画像編集を構成します。 詳細については、「画像の編集とその利点」をご参照ください。
機能ID (FunctionID/FuncId): 239。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
画像編集を有効にするかどうかを指定します。 有効な値:
on
off
on
ファイルタイプ
String
必須
変換するイメージフォーマット。 複数の値は縦棒 (|) で区切ります。 有効な値:
JPEG
JPG
PNG
WEBP
BMP
GIF
TIFF
JP2: JPEG 2000。
jpg | jpeg | png
webp
String
任意
WebPへの自動変換を有効にするかどうかを指定します。 有効な値:
on
off
on
オリエント
String
任意
自動回転を有効にするかどうかを指定します。 有効な値:
on
off
説明この機能は、回転プロパティを持つ画像に対してのみ有効です。
on
スリム
Integer
選択可能
イメージ圧縮。 圧縮率を設定できます。 有効値: 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" }
ビデオ関連の設定
範囲
機能の説明: 範囲オリジンフェッチを設定します。 詳細については、「範囲オリジンフェッチの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 31。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
範囲オリジンフェッチを有効にするかどうかを指定します。 有効な値:
on: 範囲オリジンフェッチを有効にします。
off: 範囲オリジンフェッチを無効にします。
force: 範囲オリジンフェッチを強制的に有効にします。
on
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "range" }], "DomainNames": "example.com" }
video_seek
機能の説明: ビデオシークを設定します。 詳細については、「ビデオシークの設定」をご参照ください。
特徴ID (FunctionID/FuncId): 30。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
ビデオシークを有効にするかどうかを指定します。 有効な値:
on
off
on
flv_seek_by_time
String
任意
FLVファイルの時間によるビデオシークを有効にするかどうかを指定します。 有効な値:
on
off
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 (FunctionID/FuncId): 204。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
オーディオ抽出を有効にするかどうかを指定します。 有効な値:
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
必須
ビデオプレビューを有効にするかどうかを指定します。 有効な値:
on
off
説明サポートされているファイル形式は、TS、MP3、FLV、MP4です。
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 (FunctionID/FuncId): 253。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
M3U8暗号化と書き換えを有効にするかどうかを指定します。 有効な値:
on
off
on
hls_token_arg_name
String
任意
HLSトークンのカスタムパラメータ名。 名前を指定しない場合は、MtsHlsUriTokenが名前として使用されます。
example
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }], "functionName": "hls_token_rewrite" }], "DomainNames": "example.com", }
セキュリティ設定
ddos_ドメイン
機能の説明: DDoS軽減を構成します。 詳細については、「軽減設定」をご参照ください。
機能ID (FunctionID/FuncId): 209。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enable
String
必須
DDoS軽減を有効にするかどうかを指定します。 有効な値:
on
off
on
dispatch_qps
String
必須
QPSしきい値。
有効な値: 2000〜50000。
デフォルト値: 20000
20000
checkurl
String
必須
ヘルスチェックが必要なドメイン名のパス。
デフォルト値:
/
。ドメイン名のデフォルトのルートディレクトリを示します。/*/examplefile.txt
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enable", "argValue": "on" }, { "argName": "dispatch_qps", "argValue": "20000" }, { "argName": "checkurl", "argValue": "/*/examplefile.txt" }], "functionName": "ddos_domain" }], "DomainNames": "example.com" }
トラフィック調整
limit_rate
機能の説明: 個々のリクエストに対してスロットリングを設定します。
特徴ID (FunctionID/FuncId): 72。
パラメーターの説明:
スロットリングを設定するには、ali_limit_rateパラメーターのみを指定するか、リクエストURLに含まれるパラメーターを指定できます。 スロットリングの開始時間と終了時間を設定することもできます。
リクエストURLに含まれるtraffic_limit_argパラメーターとtraffic_limit_unitパラメーターを指定することで、スロットリングを設定できます。
スロットリングの開始時間と終了時間は、ali_limit_start_hourパラメーターとali_limit_end_hourパラメーターを指定して設定できます。
パラメーター
タイプ
必須
説明
例
ali_limit_rate
String
必須
200 KB/sまたは1メガバイト/秒など、個々のリクエストのスロットルレート。 値には数字と文字を含めることができます。 単位: byte/s。
最小値は100kであり、小さい値は100kに切り上げられる。
1 m: 個々のリクエストのスロットルレートは1メガバイト/秒です。
100 k: 個々のリクエストのスロットルレートは100 KB/sです。
ali_limit_rate_after
String
任意
スロットリングのトリガーに基づくしきい値。 値には、数字とオプションの文字 (kまたはm) が含まれます。 単位:byte。
1000
traffic_limit_arg
String
任意
スロットリングパラメーターの名前。 スロットルは、URLで指定されたパラメーターの値に基づいて実行されます。 サンプルパラメータ: rate。
リクエストにスロットリングパラメーターが含まれていない場合、スロットリングレートはali_limit_rateの値になります。 リクエストにスロットリングパラメーターが含まれていない場合は、ali_limit_rateを0kに設定してスロットリングを無効にします。
rate
traffic_limit_unit
String
任意
スロットリングパラメーターtraffic_limit_argの単位。 有効値: m (MB/s) およびk (KB/s) 。 値がmに設定されている場合、スロットリング速度は1でメガバイト/秒、リクエストURLで運ばれる速度が1の場合です。
最小値は100kであり、小さい値は100kに切り上げられる。
m
ali_limit_start_hour
Integer
選択可能
スロットルが開始される時刻。 有効な値: 0 ~ 24。 デフォルト値:0 開始時刻は終了時刻より早くする必要があります。
説明24時間形式で時刻を指定します。 時間は時間でなければなりません。 たとえば、0は00:00:00を表し、24は24:00:00を表します。
20
ali_limit_end_hour
Integer
選択可能
スロットルが終了する時間。 有効な値: 0 ~ 24。 デフォルト値: 24。 終了時刻は開始時刻よりも後の時刻にする必要があります。
23
例1: 個々のリクエストのスロットルレートを1メガバイト/秒に設定します。
{ "関数": [{ "functionArgs": [{ "argName": "ali_limit_rate" 、 "argValue": "1m" }], "functionName": "limit_rate" }], "DomainNames": "example.com" }
例2: 個々のリクエストのデフォルトのスロットリング率は1メガバイト/秒です。 リクエスト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" }
WebSocket
websocket
機能の説明: WebSocketを構成します。 詳細については、「WebSocketの設定」をご参照ください。
機能ID (FunctionID/FuncId): 144。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
enabled
String
必須
WebSocketを有効にするかどうかを指定します。 有効な値:
on
off
on
origin_scheme
String
任意
WebSocketが使用されているときにリクエストがオリジンサーバーにリダイレクトされるプロトコル。 有効な値:
http: DCDNはHTTP経由でオリジンサーバーにリクエストをリダイレクトします。
https: DCDNはHTTPS経由でオリジンサーバーにリクエストをリダイレクトします。 オリジンサーバーのポート443が開いている必要があります。
follow: DCDNは、クライアントと同じプロトコル (HTTPまたはHTTPS) を使用して、リクエストをオリジンサーバーにリダイレクトします。 オリジンサーバーのポート443または80が開いている必要があります。
説明デフォルト値: follow。
http
ハートビート
String
任意
接続のタイムアウト期間。
有効な値:1 から 300。
単位は秒です。
デフォルト値: 0。
60
例:
{ "Functions": [{ "functionArgs": [{ "argName": "enabled", "argValue": "on" }, { "argName": "origin_scheme", "argValue": "http" }, { "argName": "heartbeat", "argValue": "60" }], "functionName": "websocket" }], "DomainNames": "example.com" }
IPA
protogw
機能の説明: IPアプリケーションアクセラレータ (IPA) を設定します。 詳細については、「」をご参照ください。IP Application Acceleratorとは
機能ID (FunctionID/FuncId): 163。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
realip
String
必須
クライアントIPアドレスのパススルーを有効にするかどうかを指定します。 有効な値:
off
toa: TCPオプションアドレス (TOA) カーネルモジュールは、クライアントのソースIPアドレスをTCPプロトコルのオプションフィールドに挿入します。 この方法を使用する前に、オリジンサーバーにTOAカーネルモジュールがインストールされていることを確認してください。 アプリケーションに変更は必要ありません。
pp: プロキシプロトコルは、クライアントのソースIPアドレスをTCPペイロードに挿入します。 デフォルトでは、プロキシプロトコルはNGINXのオープンソースバージョンでサポートされています。 オリジンサーバー上の他のアプリケーションの場合は、プロキシプロトコルがサポートされていることを確認してください。
トア
port
String
必須
アクセラレーションポート。
説明22、123、161、162、179、830、2049、2601、2605、3389、5049、7547、8082、8087、8182、8888、19313、、9998、19777、、15772、15776、15778、15779、18053、18098、18099、18888、、56667のポートはサポートされていません。
ポート80とポート443を使用する場合は、チケットを起票します。
8443
mux
String
任意
ポートの多重化を有効にするかどうかを指定します。 有効な値:
on
off
off
例:
{ "Functions": [{ "functionArgs": [{ "argName": "realip", "argValue": "toa" }, { "argName": "port", "argValue": "8443" }, { "argName": "mux", "argValue": "off" }], "functionName": "protogw" }], "DomainNames": "example.com" }
EdgeScriptの設定
edge_function
機能の説明: EdgeScriptを設定します。 詳細については、「EdgeScriptの概要」をご参照ください。
機能ID (FunctionID/FuncId): 180。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ルール
String
必須
ドメイン固有言語 (DSL) スクリプト。
if eq($uri, '/') {\n rewrite('https:// example.com/index.html', 'redirect')\n}
プリ
Integer
必須
優先順位。 有効な値: 0 ~ 999 数字が小さいほど、優先度が高くなります。
説明頭と足でのスクリプト実行の優先順位は互いに無関係です。
0
enable
String
必須
スクリプトを有効にするかどうかを指定します。 有効な値:
on
off
on
name
String
必須
スクリプトの名前。 名前には、文字とアンダースコア (_) のみを使用できます。
test
pos
String
任意
スクリプトを実行する位置。 有効な値:
head (デフォルト): スクリプトはパイプラインの先頭で実行されます。
foot: スクリプトはリクエスト処理パイプラインの最下部で実行されます。
ヘッド
brk
String
任意
現在のスクリプトの実行後に他のスクリプトをスキップするかどうかを指定します。 有効な値:
on: 現在のスクリプトが一致すると、指定された位置以降のスクリプトはスキップされます。
off (デフォルト): 現在のスクリプトが一致している場合、システムは要求を他のスクリプトと照合し続けます。
off
オプション
String
任意
拡張子。
なし
文法
String
任意
スクリプト構文。 有効な値: es2とjs。 デフォルト値: es2。
/
jsmode
String
任意
JavaScriptの実行モード。 有効な値:
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" }
EdgeRoutineの設定
edgeroutine
機能の説明: EdgeRoutineを設定します。 詳細については、「」をご参照ください。EdgeRoutineとは何ですか?
機能ID (FunctionID/FuncId): 275。
この機能を使用するには、チケットを起票
ルールエンジンの設定
条件
機能の説明: グラフィカルユーザーインターフェイスでルールを構成します。 ルールを設定して、異なるパラメーターを持つユーザーリクエストを識別し、設定がリクエストに適用されるかどうかを判断できます。 これは、DCDNで設定したポリシーを管理するための、より柔軟で正確なソリューションです。
機能ID (FunctionID/FuncId): 250。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
ルール
配列
必須
名前、ステータス、ロジック演算子、条件式など、ルールの内容。
ルールの内容:
{\"match\" :{\ "logic\":\"and\",\"criteria\":[{\"matchType\":\"clientipVer\",\"matchObject\":\"CONNECTING_IP\",\"matchOperator\":\"\" に等しい \"、\" matchValue\"\" \"false}]},\" name\":\" example\",\" status\":\" enable\"}
フィールド:
名前: 例
ステータス: 有効
ロジック演算子: および
条件式: クライアントが使用するプロトコルはIPv6です。
次の表に、argValueのパラメーターを示します。
パラメーター
説明
\"マッチ \":
matchは条件一致式を示す。
\"logic\":\"and\"
logicは、ルールに一致するかどうかを判断するために使用される論理演算子を示します。 有効な値: および /または。
\"条件 \"
criteriaは、条件一致式の特定の条件を示します。
\"matchType\":\"clientipVer\"
matchTypeは、一致するユーザーリクエストに含まれる情報のタイプを示します。
\"matchObject\":\"CONNECTING_IP\"
matchObjectは、一致タイプのさらなる分割を示します。 例えば、クライアントIPアドレスは、X − Forwarded − For (XFF) IPアドレスと、POPに接続するために使用されるIPアドレスとにさらに分割することができる。
\"matchOperator\":\"equals\"
matchOperatorは、一致の演算子を示します。
\"matchValue\":\"v6\"
matchValueは、ユーザーリクエストに含まれる情報と照合されるプリセット値を示します。
\"negate\":false
negateは、条件式の結果を反転するかどうかを示します。 有効な値は、true および false です。
\"name\":\"example\"
nameはルール名を示します。
\"status\":\"enable\"
statusはルールのステータスを示します。
例:
次の例は、API操作を呼び出して、
example.com
ドメイン名のルールを追加し、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" }
他の機能の設定で既存のルールを参照して、DCDNでの設定ポリシーの実行を柔軟かつ正確に制御できます。
注: 他の機能の設定でルールを参照する場合は、parentidを設定して作成したルールを指定します。 parentidは、ルールを作成するときに生成されるConfigIdです。
QUIC
quic
機能の説明: クイックUDPインターネット接続 (QUIC) を設定します。 詳細については、「」をご参照ください。QUICプロトコルとは何ですか?
機能ID (FunctionID/FuncId): 281。
下表に、各パラメーターを説明します。
パラメーター
タイプ
必須
説明
例
iquic_enable
String
必須
QUICを有効にするかどうかを指定します。 有効な値:
on
off
on
例:
{ "Functions": [{ "functionArgs": [{ "argName": "iquic_enable", "argValue": "on" }], "functionName": "iquic" }], "DomainNames": "example.com" }