ALIYUN::ESA::HttpIncomingResponseHeaderModificationRule类型用于创建修改HTTP入站响应头配置。
语法
{
"Type": "ALIYUN::ESA::HttpIncomingResponseHeaderModificationRule",
"Properties": {
"ResponseHeaderModification": List,
"SiteId": Integer,
"RuleEnable": String,
"Rule": String,
"RuleName": String,
"Sequence": Integer,
"SiteVersion": Integer
}
}
属性
|
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
|
ResponseHeaderModification |
List |
是 |
是 |
修改响应头。 |
支持添加、删除和修改操作。更多信息,请参考ResponseHeaderModification属性。 |
|
SiteId |
Integer |
是 |
否 |
站点ID。 |
无 |
|
Rule |
String |
否 |
是 |
规则内容,使用条件表达式匹配用户请求。 |
添加全局配置时,无需设置此参数。有两种使用场景: - 匹配所有传入请求:将值设置为 true。 - 匹配指定请求:将值设置为自定义表达式,例如: (http.host eq \"video.example.com\"). |
|
RuleEnable |
String |
否 |
是 |
规则开关。 |
添加全局配置时,无需设置此参数。取值范围:
|
|
RuleName |
String |
否 |
是 |
规则名称。 |
添加全局配置时,无需设置此参数。 |
|
Sequence |
Integer |
否 |
是 |
规则执行顺序。 |
值越小,执行优先级越高。 |
|
SiteVersion |
Integer |
否 |
否 |
站点配置的版本号。 |
对于已启用配置版本管理的站点,可使用此参数指定配置站点的生效版本,默认为版本0。 |
ResponseHeaderModification语法
"ResponseHeaderModification": [
{
"Type": String,
"Value": String,
"Operation": String,
"Name": String
}
]
ResponseHeaderModification属性
|
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
|
Name |
String |
是 |
是 |
响应头名称。 |
无 |
|
Operation |
String |
是 |
是 |
操作方法。 |
可能值:
|
|
Type |
String |
否 |
是 |
值类型。 |
取值范围:
|
|
Value |
String |
否 |
是 |
响应头值。 |
无 |
返回值
Fn::GetAtt
-
RuleEnable:规则开关。添加全局配置时,无需设置此参数。
-
ResponseHeaderModification:修改响应头,支持添加、删除和修改操作。
-
Sequence:规则执行顺序。值越小,执行优先级越高。
-
Rule:规则内容,使用条件表达式匹配用户请求。添加全局配置时,无需设置此参数。
-
ConfigId:配置ID。
-
SiteVersion:站点配置的版本号。对于已启用配置版本管理的站点,可使用此参数指定配置站点的生效版本,默认为版本0。
-
ConfigType:配置类型。
-
RuleName:规则名称。添加全局配置时,无需设置此参数。
示例
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
SiteId:
Type: Number
Description:
en: The site ID.
Required: true
RuleEnable:
Type: String
Description:
en: |-
Rule switch. When adding global configuration, this parameter does not need to be set. Value range:
- `on`: open.
- `off`: close.
AllowedValues:
- 'on'
- 'off'
Required: false
ResponseHeaderModification:
AssociationPropertyMetadata:
Parameters:
Type:
Type: String
Description:
en: |-
The value type. Value range:
- `static`: Static mode.
- `dynamic`: Dynamic mode.
AllowedValues:
- static
- dynamic
Required: false
Value:
Type: String
Description:
en: The response header value.
Required: false
Operation:
Type: String
Description:
en: |-
Operation method. Possible values:
- `add`: Add
- `del`: Delete
- `modify`: Modify.
AllowedValues:
- add
- del
- modify
Required: true
Name:
Type: String
Description:
en: The response header name.
Required: true
Type: Json
AssociationProperty: List[Parameters]
Description:
en: Modify response headers, supporting add, delete, and modify operations.
Required: true
Sequence:
Type: Number
Description:
en: Order of rule execution. The smaller the value, the higher the priority for execution.
Required: false
Rule:
Type: String
Description:
en: |-
Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:
- Match all incoming requests: value set to true
- Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\").
Required: false
SiteVersion:
Type: Number
Description:
en: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.
Required: false
RuleName:
Type: String
Description:
en: Rule name. When adding global configuration, this parameter does not need to be set.
Required: false
Resources:
ExtensionResource:
Type: ALIYUN::ESA::HttpIncomingResponseHeaderModificationRule
Properties:
SiteId:
Ref: SiteId
RuleEnable:
Ref: RuleEnable
ResponseHeaderModification:
Ref: ResponseHeaderModification
Sequence:
Ref: Sequence
Rule:
Ref: Rule
SiteVersion:
Ref: SiteVersion
RuleName:
Ref: RuleName
Outputs:
RuleEnable:
Description: Rule switch. When adding global configuration, this parameter does not need to be set.
Value:
Fn::GetAtt:
- ExtensionResource
- RuleEnable
ResponseHeaderModification:
Description: Modify response headers, supporting add, delete, and modify operations.
Value:
Fn::GetAtt:
- ExtensionResource
- ResponseHeaderModification
Sequence:
Description: Order of rule execution. The smaller the value, the higher the priority for execution.
Value:
Fn::GetAtt:
- ExtensionResource
- Sequence
Rule:
Description: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set.
Value:
Fn::GetAtt:
- ExtensionResource
- Rule
ConfigId:
Description: Config Id.
Value:
Fn::GetAtt:
- ExtensionResource
- ConfigId
SiteVersion:
Description: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.
Value:
Fn::GetAtt:
- ExtensionResource
- SiteVersion
ConfigType:
Description: The configuration type.
Value:
Fn::GetAtt:
- ExtensionResource
- ConfigType
RuleName:
Description: Rule name. When adding global configuration, this parameter does not need to be set.
Value:
Fn::GetAtt:
- ExtensionResource
- RuleName
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"SiteId": {
"Type": "Number",
"Description": {
"en": "The site ID."
},
"Required": true
},
"RuleEnable": {
"Type": "String",
"Description": {
"en": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- `on`: open.\n- `off`: close."
},
"AllowedValues": [
"on",
"off"
],
"Required": false
},
"ResponseHeaderModification": {
"AssociationPropertyMetadata": {
"Parameters": {
"Type": {
"Type": "String",
"Description": {
"en": "The value type. Value range:\n- `static`: Static mode.\n- `dynamic`: Dynamic mode."
},
"AllowedValues": [
"static",
"dynamic"
],
"Required": false
},
"Value": {
"Type": "String",
"Description": {
"en": "The response header value."
},
"Required": false
},
"Operation": {
"Type": "String",
"Description": {
"en": "Operation method. Possible values:\n- `add`: Add\n- `del`: Delete\n- `modify`: Modify."
},
"AllowedValues": [
"add",
"del",
"modify"
],
"Required": true
},
"Name": {
"Type": "String",
"Description": {
"en": "The response header name."
},
"Required": true
}
}
},
"Type": "Json",
"AssociationProperty": "List[Parameters]",
"Description": {
"en": "Modify response headers, supporting add, delete, and modify operations."
},
"Required": true
},
"Sequence": {
"Type": "Number",
"Description": {
"en": "Order of rule execution. The smaller the value, the higher the priority for execution."
},
"Required": false
},
"Rule": {
"Type": "String",
"Description": {
"en": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")."
},
"Required": false
},
"SiteVersion": {
"Type": "Number",
"Description": {
"en": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0."
},
"Required": false
},
"RuleName": {
"Type": "String",
"Description": {
"en": "Rule name. When adding global configuration, this parameter does not need to be set."
},
"Required": false
}
},
"Resources": {
"ExtensionResource": {
"Type": "ALIYUN::ESA::HttpIncomingResponseHeaderModificationRule",
"Properties": {
"SiteId": {
"Ref": "SiteId"
},
"RuleEnable": {
"Ref": "RuleEnable"
},
"ResponseHeaderModification": {
"Ref": "ResponseHeaderModification"
},
"Sequence": {
"Ref": "Sequence"
},
"Rule": {
"Ref": "Rule"
},
"SiteVersion": {
"Ref": "SiteVersion"
},
"RuleName": {
"Ref": "RuleName"
}
}
}
},
"Outputs": {
"RuleEnable": {
"Description": "Rule switch. When adding global configuration, this parameter does not need to be set.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RuleEnable"
]
}
},
"ResponseHeaderModification": {
"Description": "Modify response headers, supporting add, delete, and modify operations.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"ResponseHeaderModification"
]
}
},
"Sequence": {
"Description": "Order of rule execution. The smaller the value, the higher the priority for execution.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Sequence"
]
}
},
"Rule": {
"Description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Rule"
]
}
},
"ConfigId": {
"Description": "Config Id.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"ConfigId"
]
}
},
"SiteVersion": {
"Description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"SiteVersion"
]
}
},
"ConfigType": {
"Description": "The configuration type.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"ConfigType"
]
}
},
"RuleName": {
"Description": "Rule name. When adding global configuration, this parameter does not need to be set.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RuleName"
]
}
}
}
}