当前内容仅提供英语版本,中文版我们将尽快补充,感谢您的理解。

CreateL7AccRules

1. API Description

Domain name for API request: teo.intl.tencentcloudapi.com.

This API is used to create rules in the rule engine. Batch creation is supported.

A maximum of 20 requests can be initiated per second for this API.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

Parameter NameRequiredTypeDescription
ActionYesStringCommon Params. The value used for this API: CreateL7AccRules.
VersionYesStringCommon Params. The value used for this API: 2022-09-01.
RegionNoStringCommon Params. This parameter is not required.
ZoneIdYesStringZone id.
Rules.NYesArray of RuleEngineItemThe rule content.

3. Output Parameters

Parameter NameTypeDescription
RuleIdsArray of StringRule id list.
RequestIdStringThe unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.

4. Example

Example1 Creating Layer-7 Acceleration Rule

This example shows you how to create a layer-7 acceleration rule.

Input Example

POST / HTTP/1.1
Host: teo.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateL7AccRules
<Common request parameters>

{
    "ZoneId": "zone-27q0p0bali12",
    "Rules": [
        {
            "RuleName": "Test Rule",
            "Status": "disable",
            "Description": [
                "Note 1",
                "Annotation 2"
            ],
            "Branches": [
                {
                    "Condition": "${http.request.host} in ['www.example.com']",
                    "Actions": [
                        {
                            "Name": "ModifyOrigin",
                            "ModifyOriginParameters": {
                                "OriginType": "IPDomain",
                                "Origin": "1.1.1.1",
                                "OriginProtocol": "follow",
                                "HTTPOriginPort": 80,
                                "HTTPSOriginPort": 443
                            }
                        }
                    ],
                    "SubRules": [
                        {
                            "Description": [
                                "Node Cache TTL Example"
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "Cache",
                                            "CacheParameters": {
                                                "FollowOrigin": {
                                                    "Switch": "on",
                                                    "DefaultCache": "on",
                                                    "DefaultCacheStrategy": "on",
                                                    "DefaultCacheTime": 0
                                                }
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                "Browser Cache TTL Example"
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "MaxAge",
                                            "MaxAgeParameters": {
                                                "FollowOrigin": "off",
                                                "CacheTime": 0
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Custom `CacheKey` example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "CacheKey",
                                            "CacheKeyParameters": {
                                                "FullURLCache": "off",
                                                "QueryString": {
                                                    "Switch": "on",
                                                    "Action": "includeCustom",
                                                    "Values": [
                                                        "name1",
                                                        "name2"
                                                    ]
                                                },
                                                "IgnoreCase": "on",
                                                "Header": {
                                                    "Switch": "on",
                                                    "Values": [
                                                        "EO-Client-Device",
                                                        "EO-Client-OS"
                                                    ]
                                                },
                                                "Scheme": "on",
                                                "Cookie": {
                                                    "Switch": "off"
                                                }
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Status Code Cache TTL example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "StatusCodeCache",
                                            "StatusCodeCacheParameters": {
                                                "StatusCodeCacheParams": [
                                                    {
                                                        "StatusCode": 400,
                                                        "CacheTime": 4
                                                    },
                                                    {
                                                        "StatusCode": 401,
                                                        "CacheTime": 180
                                                    },
                                                    {
                                                        "StatusCode": 403,
                                                        "CacheTime": 7200
                                                    },
                                                    {
                                                        "StatusCode": 404,
                                                        "CacheTime": 86400
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Cache Prefresh Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "CachePrefresh",
                                            "CachePrefreshParameters": {
                                                "Switch": "on",
                                                "CacheTimePercent": 80
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Offline Cache Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "OfflineCache",
                                            "OfflineCacheParameters": {
                                                "Switch": "on"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                HTTP2 Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "HTTP2",
                                            "HTTP2Parameters": {
                                                "Switch": "on"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                QUIC Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "QUIC",
                                            "QUICParameters": {
                                                "Switch": "on"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                WebSocket Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "WebSocket",
                                            "WebSocketParameters": {
                                                "Switch": "on",
                                                "Timeout": 30
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Maximum Upload Size Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "PostMaxSize",
                                            "PostMaxSizeParameters": {
                                                "Switch": "on",
                                                "MaxSize": 524288000
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Smart Compression Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "Compression",
                                            "CompressionParameters": {
                                                "Switch": "on",
                                                "Algorithms": [
                                                    "gzip"
                                                ]
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Intelligent Acceleration Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "SmartRouting",
                                            "SmartRoutingParameters": {
                                                "Switch": "on"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                HTTP/2 Origin-Pull Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "UpstreamHTTP2",
                                            "UpstreamHTTP2Parameters": {
                                                "Switch": "off"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Origin-Pull Timeout Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "HTTPUpstreamTimeout",
                                            "HTTPUpstreamTimeoutParameters": {
                                                "ResponseTimeout": 15
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Forced HTTPS Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "ForceRedirectHTTPS",
                                            "ForceRedirectHTTPSParameters": {
                                                "Switch": "on",
                                                "RedirectStatusCode": 302
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                <HSTS Example>
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "HSTS",
                                            "HSTSParameters": {
                                                "Switch": "on",
                                                "Timeout": 1000,
                                                "IncludeSubDomains": "on",
                                                "Preload": "on"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                SSL/TLS Security Configuration Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "TLSConfig",
                                            "TLSConfigParameters": {
                                                "Version": [
                                                    "TLSv1",
                                                    "TLSv1.1",
                                                    "TLSv1.2",
                                                    "TLSv1.3"
                                                ],
                                                "CipherSuite": "loose-v2023"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                OCSP Stapling Example
                                Following Origin Redirects Example
                                Example of redirection during origin pull
                                Custom error page example
                                "Range Back-to-Origin Example"
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "OCSPStapling",
                                            "OCSPStaplingParameters": {
                                                "Switch": "on"
                                            }
                                        },
                                        {
                                            "Name": "UpstreamRequest",
                                            "UpstreamRequestParameters": {
                                                "QueryString": {
                                                    "Switch": "on",
                                                    "Action": "includeCustom",
                                                    "Values": [
                                                        "name1",
                                                        "name2"
                                                    ]
                                                },
                                                "Cookie": {
                                                    "Switch": "on",
                                                    "Action": "full"
                                                }
                                            }
                                        },
                                        {
                                            "Name": "UpstreamFollowRedirect",
                                            "UpstreamFollowRedirectParameters": {
                                                "Switch": "on",
                                                "MaxTimes": 3
                                            }
                                        },
                                        {
                                            "Name": "ErrorPage",
                                            "ErrorPageParameters": {
                                                "ErrorPageParams": [
                                                    {
                                                        "StatusCode": 400,
                                                        "RedirectURL": "http://www.test-v.com/custom-page.html"
                                                    },
                                                    {
                                                        "StatusCode": 403,
                                                        "RedirectURL": "http://www.test-v.com/custom-page1.html"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "Name": "RangeOriginPull",
                                            "RangeOriginPullParameters": {
                                                "Switch": "on"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Origin pull over HTTPS example
                                Example of Modifying HTTP Request Headers
                                Host Header Rewrite Example
                                Access URL Redirection Example
                                Token Authentication Example
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "OriginPullProtocol"
                                        },
                                        {
                                            "Name": "ModifyRequestHeader",
                                            "ModifyRequestHeaderParameters": {
                                                "HeaderActions": [
                                                    {
                                                        "Action": "add",
                                                        "Name": "EO-Client-Browser"
                                                    },
                                                    {
                                                        "Action": "del",
                                                        "Name": "EO-Client-Device"
                                                    },
                                                    {
                                                        "Action": "set",
                                                        "Name": "EO-Client-OS"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "Name": "HostHeader",
                                            "HostHeaderParameters": {
                                                "Action": "followOrigin"
                                            }
                                        },
                                        {
                                            "Name": "AccessURLRedirect",
                                            "AccessURLRedirectParameters": {
                                                "StatusCode": 302,
                                                "Protocol": "follow",
                                                "HostName": {
                                                    "Action": "follow"
                                                },
                                                "URLPath": {
                                                    "Action": "follow"
                                                },
                                                "QueryString": {
                                                    "Action": "full"
                                                }
                                            }
                                        },
                                        {
                                            "Name": "Authentication",
                                            "AuthenticationParameters": {
                                                "AuthType": "TypeA",
                                                "Timeout": 5,
                                                "SecretKey": "BCChgIM4o0k08Uk0Jgi3f27ir3",
                                                "BackupSecretKey": "3deJ7O6CsqlIk",
                                                "AuthParam": "test123QQ"
                                            }
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "Description": [
                                Modifying HTTP Node Response Headers Example
                                Client IP Header Example
                                "Client IP Geo Location header example",
                                "HTTP response example",
                                "Origin-Pull URL rewrite example",
                            ],
                            "Branches": [
                                {
                                    "Condition": "${http.request.host} in ['www.example.com']",
                                    "Actions": [
                                        {
                                            "Name": "ModifyResponseHeader",
                                            "ModifyResponseHeaderParameters": {
                                                "HeaderActions": [
                                                    {
                                                        "Action": "add",
                                                        "Name": "Access-Control-Allow-Methods",
                                                        "Value": "POST,GET"
                                                    },
                                                    {
                                                        "Action": "set",
                                                        "Name": "Access-Control-Allow-Origin",
                                                        "Value": "http://test.com,http://1.1.1.1"
                                                    },
                                                    {
                                                        "Action": "del",
                                                        "Name": "Content-Disposition"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "Name": "ClientIPHeader",
                                            "ClientIPHeaderParameters": {
                                                "Switch": "on",
                                                "HeaderName": "test"
                                            }
                                        },
                                        {
                                            "Name": "ClientIPCountry",
                                            "ClientIPCountryParameters": {
                                                "Switch": "on",
                                                "HeaderName": "EO-Client-IPCountry"
                                            }
                                        },
                                        {
                                            "Name": "HttpResponse",
                                            "HttpResponseParameters": {
                                                "StatusCode": 400,
                                                "ResponsePage": "p-30tcxgl8i0ls"
                                            }
                                        },
                                        {
                                            "Name": "UpstreamURLRewrite",
                                            "UpstreamURLRewriteParameters": {
                                                "Type": "Path",
                                                "Action": "addPrefix",
                                                "Value": "/prefix"
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Output Example

{
    "Response": {
        "RuleIds": [
            "rule-sjuq23"
        ],
        "RequestId": "811d2583-310c-41f4-b5e7-abe407404sxsd"
    }
}

5. Developer Resources

SDK

TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

Command Line Interface

6. Error Code

The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

Error CodeDescription
FailedOperationOperation failed.
InternalError.ConfigLockedThe configuration is locked. Please unlock and try again.
InternalError.ProxyServerAn unknown error occurred in the backend server.
InternalError.SystemErrorInternal system error.
InvalidParameter.AccessRedirectRegexErrorThe regex is not in the standard RE2 format.
InvalidParameter.ActionInProgressToo many attempts. Please try again later.
InvalidParameter.CertSystemErrorInternal error.
InvalidParameter.ErrActionUnsupportTargetThe current conditions do not support the requested operation.
InvalidParameter.ErrInvalidActionInvalid operation.
InvalidParameter.ErrInvalidActionOriginPrivateAddressInvalid rule engine operation. The origin server IP cannot be a private network IP or loopback address.
InvalidParameter.ErrInvalidActionParamInvalid operation: Invalid parameter.
InvalidParameter.ErrInvalidActionParamActionInvalid parameter "action".
InvalidParameter.ErrInvalidActionParamBadValueTypeInvalid value type for the parameter "action".
InvalidParameter.ErrInvalidActionParamDuplicateNameInvalid parameter: Duplicate parameter names.
InvalidParameter.ErrInvalidActionParamNameInvalid value type for the parameter "action".
InvalidParameter.ErrInvalidActionParamValueInvalid action.
InvalidParameter.ErrInvalidActionTypeInvalid action type.
InvalidParameter.ErrInvalidConditionInvalid conditions.
InvalidParameter.ErrInvalidConditionCannotOnlyContainHostWhenModifyOriginActionConfiguredThe operations of modifying the origin server cannot be only to configure host matching type.
InvalidParameter.ErrInvalidConditionIgnoreCaseInvalid condition: The letter case is ignored.
InvalidParameter.ErrInvalidConditionNameBadNameInvalid condition: Invalid parameter name.
InvalidParameter.ErrInvalidConditionNameTargetNotSupportNameInvalid condition: The match type is not supported by this parameter.
InvalidParameter.ErrInvalidConditionValueBadRegularInvalid condition: Invalid regular expression for the parameter value.
InvalidParameter.ErrInvalidConditionValueBadUrlInvalid parameter value "url".
InvalidParameter.ErrInvalidConditionValueBadValueInvalid condition: The parameter value is invalid.
InvalidParameter.ErrInvalidConditionValueBadValueContainFileNameExtensionInvalid parameter value: File extension is not allowed.
InvalidParameter.ErrInvalidConditionValueTooLongValueInvalid condition: The parameter value exceeds the limit.
InvalidParameter.ErrInvalidConditionValueTooManyRegularThe condition has too many regular expressions.
InvalidParameter.ErrInvalidConditionValueTooManyValuesInvalid condition: The parameter value exceeds the limit.
InvalidParameter.ErrInvalidConditionValueTooManyWildcardInvalid condition: Too many wildcards in the parameter.
InvalidParameter.ErrInvalidConditionValueZeroLengthInvalid condition: The parameter value is 0.
InvalidParameter.ErrNilConditionEmpty condition.
InvalidParameter.GrpcRequireHttp2To enable gRPC support, HTTP/2 support must be enabled as well.
InvalidParameter.HostNotFoundThe domain name does not exist.
InvalidParameter.InvalidAuthenticationInvalid token authentication.
InvalidParameter.InvalidAuthenticationTypeExpireTimeInvalid token authentication expiration time.
InvalidParameter.InvalidAuthenticationTypeSignParamInvalid token authentication parameter.
InvalidParameter.InvalidAwsRegionInvalid region. Please fill in a correct region of the third-party object storage service.
InvalidParameter.InvalidBackupServerNameInvalid secondary origin domain.
InvalidParameter.InvalidCacheConfigCacheInvalid node cache.
InvalidParameter.InvalidCacheKeyInvalid cache key.
InvalidParameter.InvalidCacheKeyQueryStringValueInvalid query string.
InvalidParameter.InvalidCacheTimeInvalid node cache validity.
InvalidParameter.InvalidClientIpHeaderNameInvalid client IP request header.
InvalidParameter.InvalidDynamicRoutineInvalid smart acceleration.
InvalidParameter.InvalidDynamicRoutineBillingThe package does not support Smart Acceleration.
InvalidParameter.InvalidErrorPageRedirectUrlInvalid custom error page.
InvalidParameter.InvalidHttpsCipherSuiteAndTlsVersionThe cipher suite does not match the TLS version.
InvalidParameter.InvalidHttpsHstsMaxAgeInvalid HTTPS HSTS.
InvalidParameter.InvalidIpv6SwitchInvalid IPv6 settings.
InvalidParameter.InvalidMaxAgeTimeInvalid browser cache.
InvalidParameter.InvalidOriginInvalid origin server.
InvalidParameter.InvalidParameterInvalid parameter.
InvalidParameter.InvalidPostSizeValueInvalid POST request size.
InvalidParameter.InvalidRangeOriginPullInvalid Range GETs.
InvalidParameter.InvalidRequestHeaderNameInvalid request header.
InvalidParameter.InvalidRequestHeaderNameXffInvalid request header x-forwarded-for.
InvalidParameter.InvalidRequestHeaderValueInvalid request header.
InvalidParameter.InvalidResponseHeaderNameInvalid response header.
InvalidParameter.InvalidResponseHeaderValueInvalid response header.
InvalidParameter.InvalidRuleEngineActionInvalid rule engine operation.
InvalidParameter.InvalidRuleEngineTargetInvalid rule engine condition.
InvalidParameter.InvalidRuleEngineTargetsExtensionInvalid file extension in the rule engine condition.
InvalidParameter.InvalidRuleEngineTargetsUrlInvalid URL in the rule engine condition.
InvalidParameter.InvalidServerNameInvalid origin domain.
InvalidParameter.InvalidStandardDebugExpireTimeLimitThe expiration time is exceeded.
InvalidParameter.InvalidUpstreamRequestQueryStringValueOrigin-pull request configuration error: Invalid query string.
InvalidParameter.InvalidUrlRedirectInvalid URL rewrite.
InvalidParameter.InvalidUrlRedirectHostInvalid target host in the URL rewriting rule.
InvalidParameter.InvalidUrlRedirectUrlThe target URL for URL rewrite is invalid.
InvalidParameter.InvalidWebSocketTimeoutInvalid WebSocket.
InvalidParameter.KeyRulesInvalidQueryStringValueInvalid cache key.
InvalidParameter.LoadBalanceInstanceIdIsRequiredThe Cloud Load Balancer instance ID is required in the operation of modifying the origin server.
InvalidParameter.NotSupportThisPresetUnsupported preset variables exist.
InvalidParameter.OriginOriginGroupIdIsRequiredThe origin group ID is required.
InvalidParameter.PostMaxSizeLimitExceededMaximum upload size exceeded.
InvalidParameter.TaskSystemErrorInternal error.
InvalidParameterValue.FormatMismatchFormat mismatch.
InvalidParameterValue.GeneralMismatchConfiguration parameter format mismatch.
InvalidParameterValue.IncludeInvalidValueContains invalid value.
InvalidParameterValue.MissingNecessaryParamMissing required configuration parameters.
InvalidParameterValue.NotInEnumerationThe value is not within the required collection.
InvalidParameterValue.NotWithinRangeThe value is not within the specified range.
InvalidParameterValue.RegExMismatchDoes not match the specified regular expression.
InvalidParameterValue.UnrecognizableValueConfiguration item error.
LimitExceededThe quota limit has been reached.
OperationDeniedOperation denied.
OperationDenied.AccelerateMainlandMultiplyLayerConflictThe existing domain feature under the current site conflicts with the Chinese mainland network optimization, and cannot be configured at the same time.
OperationDenied.ErrZoneIsAlreadyPausedThe EdgeOne service of the site is disabled. Please enable it and try again.
OperationDenied.InvalidAdvancedDefenseSecurityTypeThe security service must be enabled when you enable the DDoS Protection.
ResourceInUseThe resource is occupied.
UnauthorizedOperation.CamUnauthorizedCAM is not authorized.