ALIYUN::WAF3::TGW is used to add a resource to Web Application Firewall (WAF) in transparent proxy mode.
Syntax
{
"Type": "ALIYUN::WAF3::TGW",
"Properties": {
"InstanceId": String,
"Listen": Map,
"ResourceGroupId": String,
"Redirect": Map
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
InstanceId | String | Yes | No | The ID of the WAF instance. | None. |
Listen | Map | Yes | Yes | The listener configurations. | For more information, see the "Listen properties" section of this topic. |
ResourceGroupId | String | No | Yes | The ID of the resource group. | None. |
Redirect | Map | No | Yes | The forwarding configurations. | None. |
Listen syntax
"Listen": {
"CustomCiphers": List,
"TLSVersion": String,
"Http2Enabled": Boolean,
"CipherSuite": Integer,
"EnableTLSv3": Boolean,
"Port": Integer,
"ResourceProduct": String,
"Certificates": List,
"Protocol": String,
"ResourceInstanceId": String
}
Listen properties
Property | Type | Required | Editable | Description | Constraint |
Port | Integer | Yes | No | The listening port. | None. |
Protocol | String | Yes | No | The protocol type. | None. |
ResourceProduct | String | Yes | No | The cloud service to which the resource belongs. | None. |
ResourceInstanceId | String | Yes | No | The ID of the resource that you want to add to WAF. | None. |
CustomCiphers | List | No | Yes | The custom cipher suites. | You can use this property only when CipherSuite is set to 99. You can specify up to five custom cipher suites. |
CipherSuite | Integer | No | Yes | The type of the cipher suites that you want to add. | Valid values:
|
Certificates | List | No | Yes | The domain names that you want to bind to certificates. | You can bind up to 10 certificates. |
EnableTLSv3 | Boolean | No | Yes | Specifies whether to support Transport Layer Security (TLS) 1.3. | Valid values:
|
Http2Enabled | Boolean | No | Yes | Specifies whether to enable HTTP/2. | Valid values:
|
TLSVersion | String | No | Yes | The TLS version. | Valid values:
|
Certificates syntax
"Certificates": [
{
"AppliedType": String,
"CertificateId": String
}
]
Certificates properties
Property | Type | Required | Editable | Description | Constraint |
AppliedType | String | No | Yes | The type of the HTTPS certificate. | Valid values:
|
CertificateId | String | No | Yes | The ID of the added certificate. | None. |
Redirect syntax
"Redirect": {
"XffHeaders": List,
"WriteTimeout": Integer,
"XffHeaderMode": Integer,
"Keepalive": Boolean,
"RequestHeaders": List,
"KeepaliveRequests": Integer,
"KeepaliveTimeout": Integer,
"ReadTimeout": Integer,
"XffProto": Boolean
}
Redirect properties
Property | Type | Required | Editable | Description | Constraint |
Keepalive | Boolean | No | Yes | Specifies whether to enable the persistent connection feature. | Valid values:
|
KeepaliveRequests | Integer | No | Yes | The number of reused persistent connections. | Valid values: 60 to 1000. |
KeepaliveTimeout | Integer | No | Yes | The timeout period for an idle persistent connection. | Valid values: 1 to 60. Default value: 15. Unit: seconds. |
RequestHeaders | List | No | Yes | The header fields in the key-value format. | You can use this property to label traffic that is processed by WAF. |
ReadTimeout | Integer | No | Yes | The timeout period for a read connection. | Unit: seconds. Valid values: 1 to 3600. |
WriteTimeout | Integer | No | Yes | The timeout period for a write connection. | Unit: seconds. Valid values: 1 to 3600. |
XffHeaders | List | No | Yes | The custom header fields that are used to obtain the actual IP address of a client. | Value format: ["header1", "header2", ...]. You can specify up to 20 custom header fields. |
XffHeaderMode | Integer | No | Yes | The method that WAF uses to obtain the actual IP address of a client. | Valid values:
|
XffProto | Boolean | No | Yes | Specifies whether to use the X-Forward-For-Proto header to identify the protocol used by WAF to forward requests to the origin server. | Valid values:
|
RequestHeaders syntax
"RequestHeaders": [
{
"Value": String,
"Key": String
}
]
RequestHeaders properties
Property | Type | Required | Editable | Description | Constraint |
Key | String | No | Yes | The key of the custom header field. | None. |
Value | String | No | Yes | The value of the custom header field. | None. |
Return values
Fn::GetAtt
InstanceId: the ID of the WAF instance.
Port: the port of the cloud service to which the resource belongs.
ResourceProduct: the cloud service to which the resource belongs.
TgwId: the ID of the resource that is added to WAF in transparent proxy mode.