Updated on 2024-11-06 GMT+08:00

Querying Domain Name Configuration

Function

This API is used to query the domain name configuration.

You can query the service type, service area, remarks, IPv6, origin protocol, origin URL rewriting, advanced origin, range request, redirect from origin, ETag verification, origin response timeout, origin request header, HTTPS, TLS version, force redirect, HSTS, HTTP/2, OCSP stapling, QUIC, cache rule, status code cache TTL, referer validation, IP ACL, User-Agent ACL, token authentication, remote authentication, IP access frequency, HTTP header, custom error page, smart compression, request rate limiting, WebSocket, video seek, origin SNI, access URL rewriting, browser cache TTL, and geo-blocking settings.

Calling Method

For details, see Calling APIs.

URI

GET /v1.1/cdn/configuration/domains/{domain_name}/configs

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

domain_name

Yes

String

Domain name.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

enterprise_project_id

No

String

Enterprise project ID.

The value all indicates all projects.

show_special_configs

No

String

To query the values of the primary and secondary authentication keys, set this parameter to auth_key.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

configs

ConfigsGetBody object

Configuration items.

Table 5 ConfigsGetBody

Parameter

Type

Description

business_type

String

Service type:

  • web: website acceleration.
  • download: file download acceleration.
  • video: on-demand service acceleration.
  • wholesite: whole site acceleration.

service_area

String

Service area.

  • mainland_china: Chinese mainland.
  • global: global.
  • outside_mainland_china: outside the Chinese mainland.

remark

String

Domain name remarks.

origin_request_header

Array of OriginRequestHeader objects

Origin request header settings.

http_response_header

Array of HttpResponseHeader objects

HTTP header settings.

url_auth

UrlAuthGetBody object

Response body for querying token authentication settings.

https

HttpGetBody object

Response body for querying certificate settings.

sources

Array of SourcesConfigResponseBody objects

Origin server settings.

origin_protocol

String

Origin protocol. Possible values: follow (same as user requests), http (HTTP, default value), and https (HTTPS).

origin_follow302_status

String

Redirect from origin. Possible values: on (enabled) and off (disabled).

cache_rules

Array of CacheRules objects

Cache rules.

ip_filter

IpFilter object

IP address blacklist or whitelist.

referer

RefererConfig object

Referer validation.

force_redirect

ForceRedirectConfig object

Force redirect.

compress

Compress object

Smart compression.

cache_url_parameter_filter

CacheUrlParameterFilterGetBody object

Response body for querying the settings of caching URL parameters.

NOTE:

This old parameter will be deprecated recently.

ipv6_accelerate

Integer

IPv6 settings. Possible values: 1 (enabled) and 0 (disabled).

error_code_cache

Array of ErrorCodeCache objects

Status code cache TTL.

origin_range_status

String

Range requests. Possible values: on (enabled) and off (disabled).

user_agent_filter

UserAgentFilter object

User-Agent blacklist or whitelist settings.

origin_request_url_rewrite

Array of OriginRequestUrlRewrite objects

Origin request URL rewriting.

flexible_origin

Array of flexibleOrigins objects

Advanced origins.

slice_etag_status

String

Whether ETag is verified during origin pull. Possible values: on (yes) and off (no).

origin_receive_timeout

Integer

Origin response timeout, in seconds.

remote_auth

commonRemoteAuth object

Remote authentication settings.

websocket

webSocketSeek object

WebSocket settings.

NOTE:

Only domain names for whole site acceleration support this configuration item.

video_seek

videoSeek object

Video seek settings.

NOTE:

You have configured a cache rule for FLV and MP4 files and ignored all URL parameters in user requests.

Time-based FLV seek is valid only when video seek is enabled.

request_limit_rules

Array of RequestLimitRules objects

Request rate limiting settings.

ip_frequency_limit

IpFrequencyLimitQuery object

IP access frequency.

hsts

HstsQuery object

HSTS settings. HSTS forces clients (such as browsers) to use HTTPS to access your server, improving access security.

quic

Quic object

QUIC protocol.

error_code_redirect_rules

Array of ErrorCodeRedirectRules objects

Custom error page.

sni

Sni object

Origin SNI.

request_url_rewrite

Array of RequestUrlRewrite objects

Access URL rewriting.

browser_cache_rules

Array of BrowserCacheRules objects

Browser cache TTL.

access_area_filter

Array of AccessAreaFilter objects

Geo-blocking.

NOTE:
  • To use this function, submit a service ticket.
  • CDN periodically updates the IP address library. The locations of IP addresses that are not in the library cannot be identified. CDN allows requests from such IP addresses and returns resources to the users.
Table 6 OriginRequestHeader

Parameter

Type

Description

name

String

Name of an origin request header. The value contains 1 to 100 characters, including letters, digits, and hyphens (-). It must start with a letter.

value

String

Value of the origin request header. This parameter is optional for the delete operation. The value contains 1 to 1,000 characters. Variables, for example, $client_ip and $remote_port, are not supported.

action

String

Operation type of the origin request header. Possible values: delete and set. A request header field can only be deleted or set. set: If the header does not exist in the original origin pull request, add the header before setting its value.

Table 7 HttpResponseHeader

Parameter

Type

Description

name

String

HTTP response header. Possible values: Content-Disposition, Content-Language, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Max-Age, Access-Control-Expose-Headers, or custom headers. The value contains 1 to 100 characters, including letters, digits, and hyphens (-). It must start with a letter.

value

String

Value of the HTTP response header. This parameter is optional for the delete operation. The value contains 1 to 1,000 characters, including letters, digits, and special characters such as .-_*#!&+|^~'"/:;,=@?<>.

action

String

Operation type of the HTTP response header. The value can be set or delete.

Table 8 UrlAuthGetBody

Parameter

Type

Description

status

String

Whether token authentication is enabled. Possible values: on (enabled) and off (disabled).

type

String

Signing method.

type_a: method A.

type_b: method B.

type_c1: method C1.

type_c2: method C2.

expire_time

Integer

Expiration time, in seconds.

sign_method

String

Encryption algorithm.

match_type

String

Authentication scope.

inherit_config

InheritConfigQuery object

Authentication inheritance. Authentication parameters are added to TS and MP4 files under M3U8/MPD index files, so that the files can be played after authentication succeeds.

key

String

Signing key.

backup_key

String

Secondary key.

sign_arg

String

Authentication parameters.

time_format

String

Time format.

dec: decimal.

hex: hexadecimal.

time_arg

String

Time parameter.

Table 9 InheritConfigQuery

Parameter

Type

Description

status

String

Whether authentication inheritance is enabled. The options are on (enabled) and off (disabled).

inherit_type

String

Authentication inheritance settings.

The value can be m3u8, mpd, or m3u8,mpd.

inherit_time_type

String

Time type of the files that inherits authentication settings.

sys_time: current system time. parent_url_time: time when a user accesses the M3U8/MPD file.

Table 10 HttpGetBody

Parameter

Type

Description

https_status

String

Whether HTTPS is enabled. Possible values: on (enabled) and off (disabled).

certificate_type

String

Certificate type. server: international certificate. server_sm: Chinese (SM2) certificate.

certificate_source

Integer

Certificate source. 1: Huawei-managed certificate; 0: your own certificate.

scm_certificate_id

String

SCM certificate ID.

certificate_name

String

Certificate name.

certificate_value

String

Content of the certificate used by the HTTPS protocol. The value must be PEM encoded.

expire_time

Long

Certificate expiration time.

NOTE:

The value is in UTC format.

enc_certificate_value

String

Encryption Chinese (SM2) certificate. The value must be PEM encoded.

certificates

Array of CertificatesGetBody objects

Response body for querying dual-certificate settings.

http2_status

String

Whether HTTP/2 is used. Possible values: on (yes) and off (no).

tls_version

String

Transport Layer Security (TLS).

ocsp_stapling_status

String

Whether Online Certificate Status Protocol (OCSP) stapling is enabled. Possible values: on (yes) and off (no).

Table 11 CertificatesGetBody

Parameter

Type

Description

certificate_source

Integer

Certificate source. 0: your own certificate. 2: SCM certificate.

scm_certificate_id

String

SCM certificate ID.

certificate_type

String

Certificate type. server: international certificate; server_sm: Chinese (SM2) certificate.

certificate_name

String

Certificate name.

certificate_value

String

Certificate used by the HTTPS protocol. The value must be PEM encoded.

enc_certificate_value

String

Encryption Chinese (SM2) certificate. The value must be PEM encoded.

expire_time

Long

Certificate expiration time.

NOTE:

The value is in UTC format.

Table 12 SourcesConfigResponseBody

Parameter

Type

Description

origin_type

String

Origin server type.

  • ipaddr: IP address.
  • domain: origin server domain name.
  • obs_bucket: OBS bucket domain name.
  • third_bucket: third-party bucket. To use this type of origin servers, submit a service ticket.

origin_addr

String

IP address or domain name of the origin server.

priority

Integer

Origin server priority. Possible values: 70 (primary) and 30 (standby).

weight

Integer

Weight. The value ranges from 1 to 100.

obs_web_hosting_status

String

Whether static website hosting is enabled for the OBS bucket. This parameter is mandatory when the origin server type is obs_bucket. Possible values: off (disabled) and on (enabled).

http_port

Integer

HTTP port. Default value: 80. The port number ranges from 1 to 65535.

https_port

Integer

HTTPS port. Default value: 443. The port number ranges from 1 to 65535.

host_name

String

Host header. The default value is the acceleration domain name.

obs_bucket_type

String

OBS bucket type.

  • private: private bucket (Users except those authorized by the bucket ACL do not have the permission to access the bucket.)
  • public: public bucket (Any user can read objects in the bucket.)

bucket_access_key

String

Access key of the third-party bucket.

NOTE:

This parameter is mandatory when the origin server is a third-party bucket.

bucket_secret_key

String

Secret key of the third-party bucket.

NOTE:

This parameter is mandatory when the origin server is a third-party bucket.

bucket_region

String

Region of the third-party bucket.

NOTE:

This parameter is mandatory when the origin server is a third-party bucket.

bucket_name

String

Name of the third-party bucket.

NOTE:

This parameter is mandatory when the origin server is a third-party bucket.

Table 13 CacheRules

Parameter

Type

Description

match_type

String

Match type.

  • all: all files.
  • file_extension: file name extension.
  • catalog: directory.
  • full_path: full path.
  • home_page: homepage.
    NOTE:

    This parameter is optional when a single cache rule is configured. The default value is all.

    This parameter is mandatory when multiple cache rules are configured.

match_value

String

Cache content based on the cache rule. If match_type is set to all, this parameter is left blank. If match_type is set to file_extension, the value of this parameter is a list of up to 20 file types. A file type starts with a period (.). File types are separated by commas (,) or semicolons (;), for example, .jpg,.zip,.exe. If match_type is set to catalog, the value of this parameter is a list of up to 20 directories. A directory starts with a slash (/). Directories are separated by commas (,) or semicolons (;), for example, /test/folder01,/test/folder02. If match_type is set to full_path, the value of this parameter is a full path. A full path starts with a slash (/) and supports wildcard characters (*). A cache rule can contain only one full path, for example, /test/index.html or /test/*.jpg. If match_type is set to home_page, this parameter is left blank.

ttl

Integer

Cache TTL. The maximum TTL is 365 days.

NOTE:

The default value is 0.

ttl_unit

String

Unit of the cache TTL. Possible values: s (second), m (minute), h (hour), and d (day).

priority

Integer

Priority of the cache rule. The default value is 1 and the value ranges from 1 to 100. A larger value indicates a higher priority. The priority of a rule must be unique.

follow_origin

String

Cache TTL source. The default value is off. on: CDN PoPs use the TTL settings set on the origin server. off: CDN PoPs use the TTL settings set in cache rules. min_ttl: CDN PoPs use the shorter TTL between the TTL set on the origin server and that in cache rules.

force_cache

String

Forcible cache, which specifies whether CDN PoPs ignore the no-cache, private, and no-store fields in the Cache-Control response header of the origin server. By default, this function is disabled. Forcible cache is used together with cache TTL source. For details about the restrictions and configuration effect, see section "PoP Cache Rules" in the User Guide of CDN. on: enabled. off: disabled.

url_parameter_type

String

URL parameters.

  • del_params: Ignore specific URL parameters.
  • reserve_params: Retain specific URL parameters.
  • ignore_url_params: Ignore all URL parameters.
  • full_url: Retain all URL parameters.
    NOTE:

    The default value is full_url.

url_parameter_value

String

URL parameters, which are separated by commas (,) or semicolons (;). Up to 10 parameters can be set. > This parameter is mandatory when url_parameter_type is set to del_params or reserve_params.

Table 14 IpFilter

Parameter

Type

Description

type

String

IP ACL type. off: Disable the IP ACL. black: IP address blacklist. white: IP address whitelist.

value

String

IP address blacklist or whitelist. This parameter is optional when type is set to off. A list contains up to 500 IP addresses and IP address segments, which are separated by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed. Addresses with wildcard characters are not supported, for example, 192.168.0.*.

Table 15 RefererConfig

Parameter

Type

Description

type

String

Referer validation type. off: Disable referer validation. black: referer blacklist. white: referer whitelist.

value

String

Domain names or IP addresses, which are separated by commas (,). Wildcard domain names and domain names with port numbers are supported. Enter up to 400 domain names and IP addresses. The port number ranges from 1 to 65535.

include_empty

Boolean

Whether blank referers are included. A referer blacklist including blank referers indicates that requests without any referers are not allowed to access. A referer whitelist including blank referers indicates that requests without any referers are allowed to access. Possible values: true (included) and false (default value, excluded).

Table 16 ForceRedirectConfig

Parameter

Type

Description

status

String

Whether force redirect is enabled. Possible values: on (enabled) and off (disabled).

type

String

Force redirect type. Possible values: http (force redirect to HTTP) and https (force redirect to HTTPS).

redirect_code

Integer

Redirect status code 301 or 302.

Table 17 Compress

Parameter

Type

Description

status

String

Whether smart compression is enabled. Possible values: on (enabled) and off (disabled).

type

String

Smart compression type. Possible values: gzip (gzip) and br (Brotli).

file_type

String

Formats of files to be compressed. Enter up to 200 characters.

Multiple formats are separated by commas (,). Each format contains up to 50 characters.

The default value is .js,.html,.css,.xml,.json,.shtml,.htm when smart compression is used for the first time. When this function is used again and this value is left empty, the result of the previous setting is used.

Table 18 CacheUrlParameterFilterGetBody

Parameter

Type

Description

type

String

Operation type of caching URL parameters.

  • full_url: Cache all parameters.
  • ignore_url_params: Ignore all parameters.
  • del_params: Ignore specific URL parameters.
  • reserve_params: Retain specific URL parameters.
    NOTE:

    The following parameters of this API are adjusted:

    • Replaced del_args with del_params.
    • Replaced reserve_args with reserve_params.

value

String

Parameter value.

Table 19 ErrorCodeCache

Parameter

Type

Description

code

Integer

Supported error codes, including 301, 302, 400, 403, 404, 405, 414, 500, 501, 502, 503, and 504.

ttl

Integer

Error code cache TTL, in seconds. The value ranges from 0 to 31,536,000 (365 days each year by default).

NOTE:

The cache TTL of 3XX status codes ranges from 0s to 20s.

Table 20 UserAgentFilter

Parameter

Type

Description

type

String

User-Agent blacklist or whitelist type.

off: The User-Agent blacklist/whitelist is disabled.

black: User-Agent blacklist.

white: User-Agent whitelist.

value

String

User-Agent blacklist or whitelist. This parameter is optional when type is set to off. Up to 10 rules can be configured. A single rule contains up to 100 characters. Rules are separated by commas (,).

include_empty

Boolean

Whether empty user agents are included. A User-Agent blacklist including empty user agents indicates that requests without a user agent are rejected. A User-Agent whitelist including empty user agents indicates that requests without a user agent are accepted. Possible values: true (included) and false (excluded). The default value is false for a blacklist and true for a whitelist.

ua_list

Array of strings

User-Agent blacklist or whitelist. This parameter is optional when type is set to off. Up to 10 rules can be configured. A rule contains up to 100 characters. When ua_list and value are both set, ua_list is used.

Table 21 OriginRequestUrlRewrite

Parameter

Type

Description

priority

Integer

Priority of a URL rewrite rule.

The priority of a rule is mandatory and must be unique.

The rule with the highest priority will be used for matching first.

Enter an integer ranging from 1 to 100. A greater number indicates a higher priority.

match_type

String

Match type.

all: all files.

file_path: URI path.

wildcard

full_path

source_url

String

URI to be rewritten.

A URI starts with a slash (/) and does not contain http://, https://, or the domain name.

The value contains up to 512 characters.

Wildcards (*) are supported, for example, /test/*/*.mp4.

If the match mode is set to all files, parameters cannot be configured.

target_url

String

A URI starts with a slash (/) and does not contain http://, https://, or the domain name.

The value contains up to 256 characters.

The nth wildcard (*) field can be substituted with $n, where n = 1, 2, 3..., for example, /newtest/$1/$2.jpg.

Table 22 flexibleOrigins

Parameter

Type

Description

match_type

String

URI match mode. The value can be file_extension or file_path.

match_pattern

String

file_extension:

All file types are supported.

A file type starts with a period (.). File types are separated by semicolons (;).

Up to 20 file types are supported.

file_path: A path starts with a slash (/). Paths are separated by semicolons (;). Up to 20 paths are supported.

priority

Integer

The priority value ranges from 1 to 100. The larger the value, the higher the priority.

back_sources

Array of backSources objects

Origin information.

NOTE:

Only one origin server is allowed in each directory.

Table 23 backSources

Parameter

Type

Description

sources_type

String

Origin server type.

Possible values: ipaddr (IP address), domain (domain name), and obs_bucket (OBS bucket).

ip_or_domain

String

IP address or domain name of the origin server.

obs_bucket_type

String

OBS bucket type.

  • private: private bucket.
  • public: public bucket.

http_port

Integer

HTTP port. Value range: 1 to 65535. Default value: 80.

https_port

Integer

HTTPS port. Value range: 1 to 65535. Default value: 443.

Table 24 commonRemoteAuth

Parameter

Type

Description

remote_authentication

String

Whether remote authentication is enabled. Possible values: on (enabled) and off (disabled).

remote_auth_rules

RemoteAuthRule object

Remote authentication settings.

Table 25 RemoteAuthRule

Parameter

Type

Description

auth_server

String

Address of a reachable authentication server.

The URL must contain http:// or https://. The address cannot be a local address such as localhost or 127.0.0.1.

The address cannot be an acceleration domain name added on CDN.

request_method

String

Request method supported by the authentication server. GET, POST, and HEAD are supported.

file_type_setting

String

all: Requests for all files are authenticated.

specific_file: Requests for files of specific types are authenticated. Example: jpg|MP4

File types are case insensitive. For example, jpg and JPG indicate the same file type. File types are separated by vertical bars (|).

specified_file_type

String

The value contains up to 512 characters. This parameter is mandatory when file_type_setting is set to specific_file. In other cases, this parameter is left blank.

The value contains letters and digits. File types are separated by vertical bars (|), for example, jpg|mp4. This field is verified only when it is mandatory.

reserve_args_setting

String

Parameters that need to be authenticated in user requests. The options are reserve_all_args (retain all URL parameters), reserve_specific_args (retain specified URL parameters), and ignore_all_args (ignore all URL parameters).

reserve_args

String

This parameter is mandatory when reserve_args_setting is set to reserve_specific_args. In other cases, this parameter is left blank. Parameters are separated by vertical bars (|), for example, key1|key2.

add_custom_args_rules

Array of customArgs objects

Token authentication parameters.

reserve_headers_setting

String

Headers to be authenticated in user requests. The options are reserve_all_headers (retain all request headers), reserve_specific_headers (retain specified request headers), and ignore_all_headers (ignore all request headers).

add_custom_headers_rules

Array of customArgs objects

Request header authentication parameters.

auth_success_status

String

Status code returned by the remote authentication server to CDN PoPs when authentication is successful. Value range: 2xx and 3xx.

auth_failed_status

String

Status code returned by the remote authentication server to CDN PoPs when authentication fails. Value range: 4xx and 5xx.

response_status

String

Status code returned by CDN PoPs to users when authentication fails. Value range: 2xx, 3xx, 4xx, and 5xx.

timeout

Integer

Authentication timeout interval, that is, the interval from the time when a CDN PoP forwards an authentication request to the time when the CDN PoP receives the result returned by the remote authentication server. Enter 0 or a value ranging from 50 to 3,000. The unit is millisecond.

timeout_action

String

Method used by CDN PoPs to process a user request after authentication times out.

pass: The user request is allowed and the corresponding resource is returned after the authentication times out.

forbid: The user request is rejected after the authentication times out and the configured status code is returned to the user.

reserve_headers

String

This parameter is mandatory when reserve_headers_setting is set to reserve_specific_headers. In other cases, this parameter is left blank. Request headers are separated by vertical bars (|), for example, key1|key2.

Table 26 customArgs

Parameter

Type

Description

type

String

Parameter type. Possible values: custom_var (custom) and nginx_preset_var (preset).

key

String

Parameter, which containing 1 to 256 characters. Only letters, digits, and the following special characters are allowed: ._-*#%|+^@?=

value

String

When type is set to custom_var, the value contains 1 to 256 characters. Only letters, digits, and the following special characters are allowed: ._-*#%|+^@?=

When type is set to nginx_preset_var, the value can only be set to $http_host, $http_user_agent, $http_referer, $http_x_forwarded_for, $http_content_type, $remote_addr, $scheme, $server_protocol, $request_uri, $uri, $args, and $request_method.

Table 27 webSocketSeek

Parameter

Type

Description

status

String

Status.

on: enabled; off: disabled.

timeout

Integer

Session hold time after a connection is set up. The value ranges from 1 to 300, in seconds.

Table 28 videoSeek

Parameter

Type

Description

enable_video_seek

Boolean

Video seek status.

true: enabled; false: disabled.

NOTE:

When this parameter is set to false, the API for querying domain name configuration does not return the video seek setting information.

enable_flv_by_time_seek

Boolean

Time-based FLV seek status.

true: enabled; false: disabled.

start_parameter

String

Video playback start parameter in user request URLs. The value contains up to 64 characters. Only letters, digits, and underscores (_) are allowed.

end_parameter

String

Video playback end parameter in user request URLs. The value contains up to 64 characters. Only letters, digits, and underscores (_) are allowed.

Table 29 RequestLimitRules

Parameter

Type

Description

status

String

Status. The value can only be on.

NOTE:

If request_limit_rules is left empty, request rate limiting is disabled.

This parameter is used in earlier APIs and will be deprecated.

priority

Integer

Priority. A larger value indicates a higher priority. The value ranges from 1 to 100. The value must be unique.

match_type

String

Match type. The options are all (all files) and catalog (directory).

match_value

String

Match type value.

When match_type is set to all, leave this parameter empty.

When match_type is set to catalog, the value is a directory address starting with a slash (/), for example, /test.

NOTE:

This parameter is mandatory when match_type is set to catalog.

type

String

Rate limit mode. Currently, only rate limit by traffic is supported. This parameter can only be set to size.

limit_rate_after

Long

Rate limiting condition. type=size,limit_rate_after=50 indicates that the speed is limited to the value of limit_rate_value after 50 bytes are transmitted.

Unit: byte. Value range: 0 to 1,073,741,824.

limit_rate_value

Integer

Rate limit, in bit/s. The value ranges from 0 to 104,857,600.

Table 30 IpFrequencyLimitQuery

Parameter

Type

Description

status

String

Status. The options are on (enabled) and off (disabled).

qps

Integer

Access threshold, in times/second.

Table 31 HstsQuery

Parameter

Type

Description

status

String

Status. The options are on (enabled) and off (disabled).

max_age

Integer

Expiration time, that is, the TTL of the response header Strict-Transport-Security on the client. Unit: second.

include_subdomains

String

Whether subdomain names are included. The options are on (included) and off (not included).

Table 32 Quic

Parameter

Type

Description

status

String

Status. The options are on (enabled) and off (disabled).

Table 33 ErrorCodeRedirectRules

Parameter

Type

Description

error_code

Integer

Redirect error code. Currently, the following status codes are supported:

4xx: 400, 403, 404, 405, 414, 416, and 451

5xx: 500, 501, 502, 503, and 504

target_code

Integer

Redirect status code. The value can be 301 or 302.

target_link

String

Destination URL.

Table 34 Sni

Parameter

Type

Description

status

String

Origin SNI status. Possible values: on (enabled) and off (disabled).

server_name

String

Origin domain name to be accessed when CDN pulls origin content, for example, test.example.com.

NOTE:
  1. This parameter is mandatory when origin SNI is enabled.
  2. Wildcard domain names are not supported. Only letters, digits, hyphens (-), and periods (.) are supported.
Table 35 RequestUrlRewrite

Parameter

Type

Description

condition

UrlRewriteCondition object

Match condition.

redirect_status_code

Integer

Redirect status code. 301, 302, 303, and 307 are supported.

redirect_url

String

Redirect URL. A URL starts with a slash (/) and does not contain http://, https://, or the domain name. Example: /test/index.html.

  • When the match type is set to full path, the wildcard (*) can be captured by $1. For example, if the content is /test/*.jpg and the redirection URL is /newtest/$1.jpg, when a user requests /test/11.jpg, $1 is replaced by 11, so the requested URL after redirection is /newtest/11.jpg.

redirect_host

String

Domain name to which client requests are redirected.

NOTE:

By default, the acceleration domain name is used.

The value contains 1 to 255 characters and starts with http:// or https://, for example, http://www.example.com.

execution_mode

String

Execution rule.

  • redirect: If the requested URL matches this rule, the request is redirected to the target URL. After this rule is executed, if other rules exist, CDN continues to execute these rules.
  • break: If the requested URL matches this rule, the request is redirected to the target URL. After this rule is executed, CDN does not execute any other rules and returns status code 200. You cannot set the redirection host or status code.
Table 36 UrlRewriteCondition

Parameter

Type

Description

match_type

String

Match type.

  • catalog: The rule is executed for files in the specified directory.
  • full_path: The rule is executed for the file of the specified path.

match_value

String

Match content. If match_type is set to catalog, the value of this parameter is a list of up to 20 directories. A directory starts with a slash (/). Directories are separated by commas (,), for example, /test/folder01,/test/folder02. If match_type is set to full_path, the value of this parameter is a full path. A full path starts with a slash (/) and supports wildcard characters (*). A cache rule can contain only one full path, for example, /test/index.html or /test/*.jpg.

priority

Integer

Priority of the access URL rewrite rule. Enter an integer ranging from 1 to 100. A greater number indicates a higher priority. Each rule must have a unique priority.

Table 37 BrowserCacheRules

Parameter

Type

Description

condition

BrowserCacheRulesCondition object

Match condition.

cache_type

String

Cache effective type.

  • follow_origin: The cache policy of the origin server, that is, the setting of the Cache-Control header, is used.
  • ttl: The TTL set in this rule is used.
  • never: Browsers do not cache the resources.

ttl

Integer

Cache TTL. The maximum TTL is 365 days.

NOTE:

This parameter is mandatory when the cache effective type is set to ttl.

ttl_unit

String

Unit of the cache TTL. Possible values: s (second), m (minute), h (hour), and d (day).

NOTE:

This parameter is mandatory when the cache effective type is set to ttl.

Table 38 BrowserCacheRulesCondition

Parameter

Type

Description

match_type

String

Match type.

  • all: all files.
  • file_extension: file name extension.
  • catalog: directory.
  • full_path: full path.
  • home_page: homepage.

match_value

String

Cache content based on the cache rule. If match_type is set to all, this parameter is left blank. If match_type is set to file_extension, the value of this parameter is a list of up to 20 file types. A file type starts with a period (.). File types are separated by commas (,), for example, .jpg,.zip,.exe. If match_type is set to catalog, the value of this parameter is a list of up to 20 directories. A directory starts with a slash (/). Directories are separated by commas (,), for example, /test/folder01,/test/folder02. If match_type is set to full_path, the value of this parameter is a full path. A full path starts with a slash (/) and supports wildcard characters (*), but cannot end with a wildcard (*). A wildcard (*) can only follow the last slash (/). A cache rule can contain only one full path, for example, /test/index.html or /test/*.jpg. If match_type is set to home_page, this parameter is left blank.

priority

Integer

Priority of the rule. Enter an integer ranging from 1 to 100. A greater number indicates a higher priority. Each rule must have a unique priority.

Table 39 AccessAreaFilter

Parameter

Type

Description

type

String

Rule type.

  • black: blacklist. Users in regions specified in the blacklist cannot access resources and status code 403 is returned.
  • white: whitelist. Only users in regions specified in the whitelist can access resources. Status code 403 is returned for other users.

content_type

String

Content type.

  • all: The rule takes effect for all files.
  • file_directory: The rule takes effect for resources in the specified directory.
  • file_path: The rule takes effect for resources corresponding to the path.

content_value

String

Rule. When content_type is set to all, this parameter is empty or not passed.

When content_type is set to file_directory, the value must start with a slash (/) and multiple directories are separated by commas (,), for example, /test/folder01,/test/folder02. Up to 100 directories can be entered.

When content_type is set to file_path, the value must start with a slash (/) or wildcard (*). Up to two wildcards (*) are allowed and they cannot be consecutive. Multiple paths are separated by commas (,), for example, /test/a.txt,/test/b.txt. Up to 100 paths can be entered.

NOTE:
  • Each whitelist or blacklist rule must be unique.
  • You can configure only one rule for all files.

area

String

Regions to which the rule applies. Multiple regions are separated by commas (,), for example, CN_IN,AF,IE,EG,AU (Chinese mainland, Afghanistan, Ireland, Egypt, and Australia). For details about the location codes, see the Appendix - Geographical Location Codes.

exception_ip

String

Exception IP addresses excluded from this rule.

Example Requests

GET https://cdn.myhuaweicloud.com/v1.1/cdn/configuration/domains/www.example.com/configs

Example Responses

Status code: 200

Success response.

{
  "configs" : {
    "origin_request_header" : [ ],
    "http_response_header" : [ ],
    "https" : {
      "https_status" : "off"
    },
    "url_auth" : {
      "status" : "off"
    },
    "compress" : {
      "status" : "off"
    },
    "force_redirect" : {
      "status" : "on",
      "type" : "http"
    },
    "origin_protocol" : "follow",
    "referer" : {
      "type" : "string",
      "value" : "string",
      "include_empty" : true
    },
    "ip_filter" : {
      "type" : "string",
      "value" : "string"
    },
    "origin_follow302_status" : "off",
    "cache_rules" : [ {
      "match_type" : "string",
      "match_value" : "string",
      "ttl" : 0,
      "ttl_unit" : "string",
      "priority" : 0,
      "follow_origin" : "string",
      "url_parameter_type" : "string",
      "url_parameter_value" : "string"
    } ],
    "sources" : [ {
      "origin_addr" : "www.example.com",
      "origin_type" : "domain",
      "priority" : 70,
      "http_port" : 80,
      "https_port" : 443
    } ],
    "cache_url_parameter_filter" : {
      "type" : "del_params",
      "value" : "key1;key2"
    },
    "flexible_origin" : [ {
      "priority" : 1,
      "match_type" : "/test",
      "match_pattern" : "file_path",
      "back_sources" : [ {
        "sources_type" : "domain",
        "ip_or_domain" : "www.example.com",
        "obs_bucket_type" : "public"
      } ]
    } ],
    "slice_etag_status" : "off",
    "ipv6_accelerate" : 1,
    "origin_receive_timeout" : 30,
    "remote_auth" : {
      "remote_authentication" : "on",
      "remote_auth_rules" : {
        "auth_server" : "https://1.1.1.1",
        "request_method" : "GET",
        "file_type_setting" : "all",
        "reserve_args_setting" : "reserve_all_args",
        "reserve_args" : "string",
        "specified_file_type" : "string",
        "reserve_headers_setting" : "reserve_specific_headers",
        "auth_success_status" : "200",
        "auth_failed_status" : "403",
        "response_status" : "403",
        "timeout" : 500,
        "timeout_action" : "pass",
        "reserve_headers" : "sf",
        "add_custom_args_rules" : [ {
          "type" : "nginx_preset_var",
          "key" : "http_host",
          "value" : "$http_host"
        } ],
        "add_custom_headers_rules" : [ {
          "type" : "nginx_preset_var",
          "key" : "http_host",
          "value" : "$http_host"
        } ]
      }
    },
    "websocket" : {
      "status" : "off",
      "timeout" : 60
    },
    "video_seek" : {
      "enable_video_seek" : true,
      "enable_flv_by_time_seek" : true,
      "start_parameter" : "start",
      "end_parameter" : "end"
    },
    "request_limit_rules" : [ {
      "status" : "on",
      "type" : "size",
      "limit_rate_after" : 1024,
      "limit_rate_value" : 50
    } ],
    "sni" : {
      "status" : "on",
      "server_name" : "test.example.com"
    },
    "request_url_rewrite" : [ {
      "condition" : {
        "match_type" : "full_path",
        "match_value" : "/test/*.jpg",
        "priority" : 10
      },
      "redirect_status_code" : 301,
      "redirect_url" : "/test/index.html",
      "execution_mode" : "redirect"
    } ],
    "browser_cache_rules" : [ {
      "condition" : {
        "match_type" : "full_path",
        "match_value" : "/test/*.jpg",
        "priority" : 10
      },
      "cache_type" : "ttl",
      "ttl" : 20,
      "ttl_unit" : "h"
    } ],
    "access_area_filter" : [ {
      "type" : "black",
      "content_type" : "all",
      "area" : "CN_IN,AU",
      "exception_ip" : "0.0.0.0"
    } ],
  }
}

SDK Sample Code

The SDK sample code is as follows.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.GlobalCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.cdn.v2.region.CdnRegion;
import com.huaweicloud.sdk.cdn.v2.*;
import com.huaweicloud.sdk.cdn.v2.model.*;


public class ShowDomainFullConfigSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new GlobalCredentials()
                .withAk(ak)
                .withSk(sk);

        CdnClient client = CdnClient.newBuilder()
                .withCredential(auth)
                .withRegion(CdnRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowDomainFullConfigRequest request = new ShowDomainFullConfigRequest();
        request.withDomainName("{domain_name}");
        try {
            ShowDomainFullConfigResponse response = client.showDomainFullConfig(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import GlobalCredentials
from huaweicloudsdkcdn.v2.region.cdn_region import CdnRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcdn.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]

    credentials = GlobalCredentials(ak, sk)

    client = CdnClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CdnRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowDomainFullConfigRequest()
        request.domain_name = "{domain_name}"
        response = client.show_domain_full_config(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global"
    cdn "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := global.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := cdn.NewCdnClient(
        cdn.CdnClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowDomainFullConfigRequest{}
	request.DomainName = "{domain_name}"
	response, err := client.ShowDomainFullConfig(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

Success response.

Error Codes

See Error Codes.