ALIYUN::ESA::HttpResponseHeaderModificationRule

ALIYUN::ESA::HttpResponseHeaderModificationRule类型用于创建修改HTTP响应头配置。

语法

{
  "Type": "ALIYUN::ESA::HttpResponseHeaderModificationRule",
  "Properties": {
    "ResponseHeaderModification": List,
    "SiteId": Integer,
    "RuleEnable": String,
    "Rule": String,
    "RuleName": String,
    "Sequence": Integer,
    "SiteVersion": Integer
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

ResponseHeaderModification

List

修改响应头。

支持添加、删除、修改三种操作方式。更多信息,请参考ResponseHeaderModification属性

SiteId

Integer

站点 ID。

RuleEnable

String

规则开关。

添加全局配置的时候不需要设置该参数。取值范围:

  • on:开启。

  • off:关闭。

Rule

String

规则内容。

使用条件表达式来匹配用户请求。添加全局配置的时候不需要设置该参数。存在两种使用场景:

  • 匹配所有传入请求:值设置为 true

  • 匹配指定请求:值设置为自定义表达式,例如:(http.host eq "video.example.com")

RuleName

String

规则名称。

添加全局配置的时候不需要设置该参数。

Sequence

Integer

规则执行顺序。

数值越小越优先执行。

SiteVersion

Integer

站点配置的版本号。

开启了配置版本管理的站点,可以通过该参数指定配置生效的站点版本,默认为版本 0。

ResponseHeaderModification语法

"ResponseHeaderModification": [
  {
    "Type": String,
    "Value": String,
    "Operation": String,
    "Name": String
  }
]

ResponseHeaderModification属性

属性名称

类型

必须

允许更新

描述

约束

Name

String

请求头名称。

Operation

String

操作方式。

取值范围:

  • add:添加。

  • del:删除

  • modify:变更。

Type

String

值类型。

取值范围:

  • static:静态模式。

  • dynamic:动态模式。

Value

String

请求头值。

返回值

Fn::GetAtt

  • RuleEnable:规则开关。

  • ResponseHeaderModification:修改响应头

  • Sequence:规则执行顺序

  • Rule:规则内容

  • ConfigId:配置 ID。

  • SiteVersion:站点配置的版本号。

  • ConfigType:配置类型

  • RuleName:规则名称。

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  SiteId:
    Type: Number
    Description:
      en: The site ID.
    Required: true
  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
    AssociationProperty: List[Parameters]
    Type: Json
    Description:
      en: Modify response headers, supporting add, delete, and modify operations.
    Required: true
Resources:
  ExtensionResource:
    Type: ALIYUN::ESA::HttpResponseHeaderModificationRule
    Properties:
      SiteId:
        Ref: SiteId
      ResponseHeaderModification:
        Ref: ResponseHeaderModification
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
    },
    "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
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "Modify response headers, supporting add, delete, and modify operations."
      },
      "Required": true
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::ESA::HttpResponseHeaderModificationRule",
      "Properties": {
        "SiteId": {
          "Ref": "SiteId"
        },
        "ResponseHeaderModification": {
          "Ref": "ResponseHeaderModification"
        }
      }
    }
  },
  "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"
        ]
      }
    }
  }
}