Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Li, Qiao <qiaoli@huawei.com> Co-committed-by: Li, Qiao <qiaoli@huawei.com>
38 KiB
Modifying a Domain Name Protected by a Dedicated WAF Instance
Function
This API is used to modify a domain name protected by a dedicated WAF instance.
URI
PUT /v1/{project_id}/premium-waf/host/{host_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
host_id |
Yes |
String |
This API is used to modify a domain name protected by a dedicated WAF instance. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Content-Type |
Yes |
String |
Content type. Default value: application/json;charset=utf8 Default: application/json;charset=utf8 |
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
proxy |
No |
Boolean |
Whether a proxy is used for the domain name. If your website has no layer-7 proxy server such as CDN and cloud acceleration service deployed in front of WAF and uses only layer-4 load balancers (or NAT), set Proxy Configured to No. Otherwise, Proxy Configured must be set to Yes. This ensures that WAF obtains real IP addresses of website visitors and takes protective actions configured in protection policies. |
certificateid |
No |
String |
HTTPS certificate ID. It can be obtained by calling the ListCertificates API. |
certificatename |
No |
String |
HTTPS certificate name. It can be obtained by calling the ListCertificates API. Certifacteid and certificatename are required at the same. If certificateid does not match certificatename, an error is reported. |
tls |
No |
String |
Minimum TLS version supported.
|
cipher |
No |
String |
Cipher suite. The value can be:
|
protect_status |
No |
Integer |
WAF status of the protected domain name.
|
block_page |
No |
BlockPage object |
Alarm configuration page |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
template |
Yes |
String |
Template name |
custom_page |
No |
CustomPage object |
Custom alarm page |
redirect_url |
No |
String |
Redirection URL |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
Domain name ID |
policyid |
String |
ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies. |
hostname |
String |
Domain name added to cloud WAF. |
domainid |
String |
User domain ID |
project_id |
String |
Project ID |
protocol |
String |
HTTP protocol |
tls |
String |
Minimum TLS version supported.
|
cipher |
String |
Cipher suite. The value can be:
|
server |
Array of PremiumWafServer objects |
Origin server details |
certificateid |
String |
HTTPS certificate ID. It can be obtained by calling the ListCertificates API. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS. |
certificatename |
String |
Certificate name. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS. |
proxy |
Boolean |
Whether the proxy is enabled |
locked |
Integer |
Lock status. This parameter is redundant and can be ignored. Default value: 0 Default: 0 |
protect_status |
Integer |
WAF status of the protected domain name. The value can be:
|
access_status |
Integer |
Whether a domain name is connected to WAF.
|
timestamp |
Long |
Time a domain name is added to WAF |
flag |
Flag object |
Special domain name identifier, which is used to store additional domain name configurations |
block_page |
BlockPage object |
Alarm configuration page |
extend |
Map<String,String> |
Extended attribute |
Parameter |
Type |
Description |
---|---|---|
front_protocol |
String |
Client protocol Enumeration values:
|
back_protocol |
String |
Server protocol Enumeration values:
|
address |
String |
IP address or domain name of the origin server that the client accesses. |
port |
Integer |
Server port |
type |
String |
The origin server address is an IPv4 or IPv6 address. Default value: ipv4 Enumeration values:
|
vpc_id |
String |
VPC ID. Perform the following steps to obtain the VPC ID:
|
Parameter |
Type |
Description |
---|---|---|
pci_3ds |
String |
Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter.
|
pci_dss |
String |
Whether PCI DDS certification check is enabled for the domain name.
|
Parameter |
Type |
Description |
---|---|---|
template |
String |
Template name |
custom_page |
CustomPage object |
Custom alarm page |
redirect_url |
String |
Redirection URL |
Parameter |
Type |
Description |
---|---|---|
status_code |
String |
Status Codes |
content_type |
String |
Content type of alarm page |
content |
String |
Page content |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Example Requests
PUT https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}? { "proxy" : true }
Example Responses
Status code: 200
Request succeeded.
{ "id" : "ee896796e1a84f3f85865ae0853d8974", "hostname" : "www.demo.com", "protocol" : "HTTPS", "server" : [ { "address" : "1.2.3.4", "port" : 443, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTPS", "back_protocol" : "HTTPS", "vpc_id" : "ebfc553a-386d-4746-b0c2-18ff3f0e903d" } ], "proxy" : true, "locked" : 0, "timestamp" : 1650593801380, "flag" : { "pci_3ds" : "false", "pci_dss" : "false" }, "extend" : { }, "block_page" : { "template" : "default" }, "description" : "", "policyid" : "df15d0eb84194950a8fdc615b6c012dc", "domainid" : "0ee78615ca08419f81f539d97c9ee353", "projectid" : "550500b49078408682d0d4f7d923f3e1", "protect_status" : 1, "access_status" : 0, "certificateid" : "360f992501a64de0a65c50a64d1ca7b3", "certificatename" : "certificatename75315" }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Invalid request |
401 |
The token does not have the required permission. |
500 |
Internal server error. |
Error Codes
See Error Codes.