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>
33 KiB
Adding a Protected Domain Name
Function
Adding a Protected Domain Name
URI
POST /v1/{project_id}/premium-waf/host
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
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 |
---|---|---|---|
certificateid |
No |
String |
HTTPS certificate ID. It can be obtained by calling the ListCertificates API.This parameter is not required when the client protocol is HTTP, but it is mandatory when the client protocol is HTTPS. |
certificatename |
No |
String |
Certificate name. Certifacteid and certificatename are required at the same. If certificateid does not match certificatename, an error is reported.This parameter is not required when the client protocol is HTTP, but it is mandatory when the client protocol is HTTPS. |
hostname |
Yes |
String |
Protected domain name or IP address (port allowed) |
proxy |
Yes |
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. |
policyid |
No |
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. |
server |
Yes |
Array of PremiumWafServer objects |
Server configuration in dedicated mode |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
front_protocol |
Yes |
String |
Client protocol Enumeration values:
|
back_protocol |
Yes |
String |
Server protocol Enumeration values:
|
address |
Yes |
String |
IP address or domain name of the origin server that the client accesses. |
port |
Yes |
Integer |
Server port |
type |
Yes |
String |
The origin server address is an IPv4 or IPv6 address. Default value: ipv4 Enumeration values:
|
vpc_id |
Yes |
String |
VPC ID. Perform the following steps to obtain the VPC ID:
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
Protected domain name ID |
policyid |
String |
Policy ID |
hostname |
String |
Protected domain name |
domainid |
String |
Tenant ID |
projectid |
String |
Project ID |
protocol |
String |
HTTP protocol |
protect_status |
Integer |
WAF status of the protected domain name.
|
access_status |
Integer |
Whether a domain name is connected to WAF.
|
proxy |
Boolean |
Whether a proxy is used.
|
server |
Array of PremiumWafServer objects |
Origin server list |
flag |
Flag object |
Special domain name identifier, which is used to store additional domain name configuration. |
block_page |
BlockPage object |
Alarm configuration page |
extend |
Map<String,String> |
This parameter is redundant in this version. It will be used in the later versions. |
timestamp |
Long |
Creation time. |
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
POST https://{Endpoint}/v1/{project_id}/premium-waf/host?enterprise_project_id=0 { "hostname" : "www.demo.com", "server" : [ { "front_protocol" : "HTTP", "back_protocol" : "HTTP", "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247", "type" : "ipv4", "address" : "1.1.1.1", "port" : 80 } ], "proxy" : false, "description" : "" }
Example Responses
Status code: 200
Request succeeded.
{ "id" : "51a5649e52d341a9bb802044950969dc", "policyid" : "1607df035bc847b582ce9c838c083b88", "hostname" : "www.demo.com", "protocol" : "HTTP", "server" : [ { "address" : "1.1.1.1", "port" : 80, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP", "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247" } ], "proxy" : false, "locked" : 0, "timestamp" : 1650596007113, "flag" : { "pci_3ds" : "false", "pci_dss" : "false" }, "description" : "", "projectid" : "550500b49078408682d0d4f7d923f3e1", "domainid" : "d4ecb00b031941ce9171b7bc3386883f", "protect_status" : 1, "access_status" : 0, "extend" : { }, "block_page" : { "template" : "default" } }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Request failed. |
401 |
The token does not have the required permission. |
500 |
Internal server error. |
Error Codes
See Error Codes.