你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.Network 前门 2020-01-01

Bicep 资源定义

可以使用目标操作部署 frontDoors 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Network/frontDoors 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Network/frontDoors@2020-01-01' = {
  location: 'string'
  name: 'string'
  properties: {
    backendPools: [
      {
        id: 'string'
        name: 'string'
        properties: {
          backends: [
            {
              address: 'string'
              backendHostHeader: 'string'
              enabledState: 'string'
              httpPort: int
              httpsPort: int
              priority: int
              privateLinkAlias: 'string'
              privateLinkApprovalMessage: 'string'
              weight: int
            }
          ]
          healthProbeSettings: {
            id: 'string'
          }
          loadBalancingSettings: {
            id: 'string'
          }
        }
      }
    ]
    backendPoolsSettings: {
      enforceCertificateNameCheck: 'string'
      sendRecvTimeoutSeconds: int
    }
    enabledState: 'string'
    friendlyName: 'string'
    frontendEndpoints: [
      {
        id: 'string'
        name: 'string'
        properties: {
          hostName: 'string'
          sessionAffinityEnabledState: 'string'
          sessionAffinityTtlSeconds: int
          webApplicationFirewallPolicyLink: {
            id: 'string'
          }
        }
      }
    ]
    healthProbeSettings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          enabledState: 'string'
          healthProbeMethod: 'string'
          intervalInSeconds: int
          path: 'string'
          protocol: 'string'
        }
      }
    ]
    loadBalancingSettings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          additionalLatencyMilliseconds: int
          sampleSize: int
          successfulSamplesRequired: int
        }
      }
    ]
    routingRules: [
      {
        id: 'string'
        name: 'string'
        properties: {
          acceptedProtocols: [
            'string'
          ]
          enabledState: 'string'
          frontendEndpoints: [
            {
              id: 'string'
            }
          ]
          patternsToMatch: [
            'string'
          ]
          routeConfiguration: {
            @odata.type: 'string'
            // For remaining properties, see RouteConfiguration objects
          }
          rulesEngine: {
            id: 'string'
          }
        }
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

RouteConfiguration 对象

设置 @odata.type 属性以指定对象的类型。

对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,请使用:

{
  @odata.type: '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
  backendPool: {
    id: 'string'
  }
  cacheConfiguration: {
    cacheDuration: 'string'
    dynamicCompression: 'string'
    queryParameters: 'string'
    queryParameterStripDirective: 'string'
  }
  customForwardingPath: 'string'
  forwardingProtocol: 'string'
}

对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration,请使用:

{
  @odata.type: '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration'
  customFragment: 'string'
  customHost: 'string'
  customPath: 'string'
  customQueryString: 'string'
  redirectProtocol: 'string'
  redirectType: 'string'
}

属性值

Microsoft.Network/frontDoors

名字 描述 价值
位置 资源位置。 字符串
名字 资源名称 字符串

约束:
最小长度 = 5
最大长度 = 64
模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必需)
性能 Front Door 负载均衡器的属性 FrontDoor属性
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

后端

名字 描述 价值
地址 后端的位置(IP 地址或 FQDN) 字符串
backendHost标头 要用作发送到后端的主机标头的值。 如果为空或未指定,则默认为传入主机。 字符串
enabledState 是否启用此后端的使用。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
httpPort 端口 HTTP TCP 端口号。 必须介于 1 到 65535 之间。 int

约束:
最小值 = 1
最大值 = 65535
https端口 HTTPS TCP 端口号。 必须介于 1 到 65535 之间。 int

约束:
最小值 = 1
最大值 = 65535
优先权 用于负载均衡的优先级。 如果优先级较低的后端正常,则不会使用更高的优先级进行负载均衡。 int

约束:
最小值 = 1
最大值 = 5
privateLinkAlias 专用链接资源的别名。 填充此可选字段表示此后端为“专用” 字符串
privateLinkApprovalMessage 要包含在审批请求中以连接到专用链接的自定义消息 字符串
重量 此终结点的权重用于负载均衡。 int

约束:
最小值 = 1
最大值 = 1000

BackendPool 后台泳池

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 Front Door 后端池的属性 BackendPoolProperties

BackendPoolProperties

名字 描述 价值
后端 此池的后端集 后端[]
healthProbe设置 后端池的 L7 运行状况探测设置 子资源
loadBalancingSettings 后端池的负载均衡设置 子资源

BackendPools设置

名字 描述 价值
enforceCertificateNameCheck 是否对所有后端池的 HTTPS 请求强制实施证书名称检查。 对非 HTTPS 请求没有影响。 “Disabled”
“Enabled”
sendRecvTimeoutSeconds 向后端转发请求时发送和接收超时。 达到超时时,请求会失败并返回。 int

约束:
最小值 = 16

缓存配置

名字 描述 价值
缓存持续时间 需要缓存内容的持续时间。 允许的格式采用 ISO 8601 格式(http://en.wikipedia.org/wiki/ISO_8601#Durations)。 HTTP 要求该值不超过一年 字符串
dynamicCompression 压缩 是否对缓存内容使用动态压缩 “Disabled”
“Enabled”
queryParameters 查询参数 要包含或排除的查询参数(逗号分隔)。 字符串
queryParameterStrip指令 在形成缓存密钥时处理 URL 查询词。 “StripAll”
“StripAllExcept”
“StripNone”
“StripOnly”

转发配置

名字 描述 价值
@odata.type “#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”(必需)
后端池 对此规则路由到的 BackendPool 的引用。 子资源
cacheConfiguration 与此规则关联的缓存配置。 缓存配置
customForwardingPath 用于重写此规则匹配的资源路径的自定义路径。 留空以使用传入路径。 字符串
forwardingProtocol 协议 将流量转发到后端时,此规则将使用协议。 “HttpOnly”
“HttpsOnly”
“MatchRequest”

FrontDoor属性

名字 描述 价值
backendPools 可用于路由规则的后端池。 BackendPool[]
backendPools设置 所有 backendPools 的设置 BackendPools设置
enabledState Front Door 负载均衡器的操作状态。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
友好名称 frontDoor 的友好名称 字符串
frontendEndpoints 可用于路由规则的前端终结点。 FrontendEndpoint[]
healthProbe设置 与此 Front Door 实例关联的运行状况探测设置。 HealthProbeSettingsModel[]
loadBalancingSettings 与此 Front Door 实例关联的负载均衡设置。 LoadBalancingSettingsModel[]
routingRules 与此 Front Door 关联的路由规则。 路由规则[]

前端端点

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 前端终结点的属性 FrontendEndpoint属性

FrontendEndpoint属性

名字 描述 价值
主机名 frontendEndpoint 的主机名。 必须是域名。 字符串
sessionAffinityEnabledState 会话 是否允许在此主机上进行会话关联。 有效选项为“Enabled”或“Disabled” “Disabled”
“Enabled”
sessionAffinityTtlSeconds 闲置。 此字段将被忽略。 要以秒为单位用于会话相关性的 TTL(如果适用)。 整数 (int)
webApplicationFirewallPolicy链接 为每个主机定义 Web 应用程序防火墙策略(如果适用) FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 价值
身份证 资源 ID。 字符串

HealthProbeSettingsModel

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 运行状况探测设置的属性 HealthProbeSettingsProperties

HealthProbeSettingsProperties

名字 描述 价值
enabledState 是否允许针对在 backendPools 下定义的后端进行运行状况探测。 只有在单个启用的后端池中存在单个启用的后端时,才能禁用运行状况探测。 “Disabled”
“Enabled”
healthProbeMethod 配置用于探测在 backendPools 下定义的后端的 HTTP 方法。 “GET”
“HEAD”
时间间隔(秒) 运行状况探测之间的秒数。 整数 (int)
路径 用于运行状况探测的路径。 默认值为 / 字符串
协议 用于此探测的协议方案 “Http”
“Https”

LoadBalancingSettingsModel

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 负载均衡设置的属性 LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

名字 描述 价值
additionalLatencyMilliseconds 的 探测下降到最低延迟存储桶的额外延迟(以毫秒为单位) 整数 (int)
sampleSize (样本大小) 要考虑的负载均衡决策的示例数 整数 (int)
successfulSamplesRequired 样本周期内必须成功的示例数 整数 (int)

重定向配置

名字 描述 价值
@odata.type “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需)
自定义片段 要添加到重定向 URL 的片段。 片段是 #之后 URL 的一部分。 请勿包含 #。 字符串
定制主机 要重定向的主机。 将传入主机保留为空,以将传入主机用作目标主机。 字符串
自定义路径 要重定向的完整路径。 路径不能为空,必须以 /开头。 将传入路径保留为空,以用作目标路径。 字符串
customQueryString 要放置在重定向 URL 中的查询字符串集。 设置此值将替换任何现有查询字符串;保留空以保留传入的查询字符串。 查询字符串必须采用 <键>=<值> 格式。 第一个? 并且会自动添加 &,因此不要在前面包含它们,但使用 &分隔多个查询字符串。 字符串
重定向协议 将流量重定向到的目标的协议 “HttpOnly”
“HttpsOnly”
“MatchRequest”
重定向类型 重定向流量时规则将使用的重定向类型。 “Found”
“已移动”
“PermanentRedirect”
“TemporaryRedirect”

资源标签

名字 描述 价值

路由配置

名字 描述 价值
@odata.type 对于 forwardingConfiguration ,请设置为“#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”。 对于 redirectConfiguration 类型,设置为“#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”。 “#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”
“#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需)

路由规则

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 Front Door 路由规则的属性 RoutingRuleProperties

RoutingRuleProperties

名字 描述 价值
acceptedProtocols 协议 要与此规则匹配的协议方案 包含任一项的字符串数组:
“Http”
“Https”
enabledState 是否启用此规则的使用。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
frontendEndpoints 与此规则关联的前端终结点 子资源[]
patternsToMatch 规则的路由模式。 字符串[]
route配置 对路由配置的引用。 路由配置
rules引擎 对要应用于此路由的特定规则引擎配置的引用。 子资源

子资源

名字 描述 价值
身份证 资源 ID。 字符串

用法示例

Azure 验证模块

以下 Azure 验证模块 可用于部署此资源类型。

模块 描述
Azure Front Door 适用于 Azure Front Door 的 AVM 资源模块

Azure 快速入门示例

以下 Azure 快速入门模板 包含用于部署此资源类型的 Bicep 示例。

Bicep 文件 描述
使用 Front Door 添加自定义域和自定义证书 此模板使用客户管理的证书载入并保护具有 Front Door 的自定义域
使用 Front Door 添加自定义域和托管证书 此模板使用 Front Door 载入并保护自定义域
Front Door 上控制后端的运行状况探测 此模板通过设置探测路径以及将发送探测的间隔来更新 Front Door 以更改运行状况探测设置。
创建基本的 Front Door 此模板使用单个后端创建基本的 Front Door 配置。
使用 HTTP 到 HTTPS 重定向创建 Front Door 此模板创建用于 HTTP 到 HTTPS 重定向的 Front Door 配置。

ARM 模板资源定义

可以使用目标操作部署 frontDoors 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Network/frontDoors 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Network/frontDoors",
  "apiVersion": "2020-01-01",
  "name": "string",
  "location": "string",
  "properties": {
    "backendPools": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "backends": [
            {
              "address": "string",
              "backendHostHeader": "string",
              "enabledState": "string",
              "httpPort": "int",
              "httpsPort": "int",
              "priority": "int",
              "privateLinkAlias": "string",
              "privateLinkApprovalMessage": "string",
              "weight": "int"
            }
          ],
          "healthProbeSettings": {
            "id": "string"
          },
          "loadBalancingSettings": {
            "id": "string"
          }
        }
      }
    ],
    "backendPoolsSettings": {
      "enforceCertificateNameCheck": "string",
      "sendRecvTimeoutSeconds": "int"
    },
    "enabledState": "string",
    "friendlyName": "string",
    "frontendEndpoints": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "hostName": "string",
          "sessionAffinityEnabledState": "string",
          "sessionAffinityTtlSeconds": "int",
          "webApplicationFirewallPolicyLink": {
            "id": "string"
          }
        }
      }
    ],
    "healthProbeSettings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "enabledState": "string",
          "healthProbeMethod": "string",
          "intervalInSeconds": "int",
          "path": "string",
          "protocol": "string"
        }
      }
    ],
    "loadBalancingSettings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "additionalLatencyMilliseconds": "int",
          "sampleSize": "int",
          "successfulSamplesRequired": "int"
        }
      }
    ],
    "routingRules": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "acceptedProtocols": [ "string" ],
          "enabledState": "string",
          "frontendEndpoints": [
            {
              "id": "string"
            }
          ],
          "patternsToMatch": [ "string" ],
          "routeConfiguration": {
            "@odata.type": "string"
            // For remaining properties, see RouteConfiguration objects
          },
          "rulesEngine": {
            "id": "string"
          }
        }
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

RouteConfiguration 对象

设置 @odata.type 属性以指定对象的类型。

对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,请使用:

{
  "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
  "backendPool": {
    "id": "string"
  },
  "cacheConfiguration": {
    "cacheDuration": "string",
    "dynamicCompression": "string",
    "queryParameters": "string",
    "queryParameterStripDirective": "string"
  },
  "customForwardingPath": "string",
  "forwardingProtocol": "string"
}

对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration,请使用:

{
  "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
  "customFragment": "string",
  "customHost": "string",
  "customPath": "string",
  "customQueryString": "string",
  "redirectProtocol": "string",
  "redirectType": "string"
}

属性值

Microsoft.Network/frontDoors

名字 描述 价值
apiVersion API 版本 '2020-01-01'
位置 资源位置。 字符串
名字 资源名称 字符串

约束:
最小长度 = 5
最大长度 = 64
模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必需)
性能 Front Door 负载均衡器的属性 FrontDoor属性
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.Network/frontDoors”

后端

名字 描述 价值
地址 后端的位置(IP 地址或 FQDN) 字符串
backendHost标头 要用作发送到后端的主机标头的值。 如果为空或未指定,则默认为传入主机。 字符串
enabledState 是否启用此后端的使用。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
httpPort 端口 HTTP TCP 端口号。 必须介于 1 到 65535 之间。 int

约束:
最小值 = 1
最大值 = 65535
https端口 HTTPS TCP 端口号。 必须介于 1 到 65535 之间。 int

约束:
最小值 = 1
最大值 = 65535
优先权 用于负载均衡的优先级。 如果优先级较低的后端正常,则不会使用更高的优先级进行负载均衡。 int

约束:
最小值 = 1
最大值 = 5
privateLinkAlias 专用链接资源的别名。 填充此可选字段表示此后端为“专用” 字符串
privateLinkApprovalMessage 要包含在审批请求中以连接到专用链接的自定义消息 字符串
重量 此终结点的权重用于负载均衡。 int

约束:
最小值 = 1
最大值 = 1000

BackendPool 后台泳池

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 Front Door 后端池的属性 BackendPoolProperties

BackendPoolProperties

名字 描述 价值
后端 此池的后端集 后端[]
healthProbe设置 后端池的 L7 运行状况探测设置 子资源
loadBalancingSettings 后端池的负载均衡设置 子资源

BackendPools设置

名字 描述 价值
enforceCertificateNameCheck 是否对所有后端池的 HTTPS 请求强制实施证书名称检查。 对非 HTTPS 请求没有影响。 “Disabled”
“Enabled”
sendRecvTimeoutSeconds 向后端转发请求时发送和接收超时。 达到超时时,请求会失败并返回。 int

约束:
最小值 = 16

缓存配置

名字 描述 价值
缓存持续时间 需要缓存内容的持续时间。 允许的格式采用 ISO 8601 格式(http://en.wikipedia.org/wiki/ISO_8601#Durations)。 HTTP 要求该值不超过一年 字符串
dynamicCompression 压缩 是否对缓存内容使用动态压缩 “Disabled”
“Enabled”
queryParameters 查询参数 要包含或排除的查询参数(逗号分隔)。 字符串
queryParameterStrip指令 在形成缓存密钥时处理 URL 查询词。 “StripAll”
“StripAllExcept”
“StripNone”
“StripOnly”

转发配置

名字 描述 价值
@odata.type “#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”(必需)
后端池 对此规则路由到的 BackendPool 的引用。 子资源
cacheConfiguration 与此规则关联的缓存配置。 缓存配置
customForwardingPath 用于重写此规则匹配的资源路径的自定义路径。 留空以使用传入路径。 字符串
forwardingProtocol 协议 将流量转发到后端时,此规则将使用协议。 “HttpOnly”
“HttpsOnly”
“MatchRequest”

FrontDoor属性

名字 描述 价值
backendPools 可用于路由规则的后端池。 BackendPool[]
backendPools设置 所有 backendPools 的设置 BackendPools设置
enabledState Front Door 负载均衡器的操作状态。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
友好名称 frontDoor 的友好名称 字符串
frontendEndpoints 可用于路由规则的前端终结点。 FrontendEndpoint[]
healthProbe设置 与此 Front Door 实例关联的运行状况探测设置。 HealthProbeSettingsModel[]
loadBalancingSettings 与此 Front Door 实例关联的负载均衡设置。 LoadBalancingSettingsModel[]
routingRules 与此 Front Door 关联的路由规则。 路由规则[]

前端端点

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 前端终结点的属性 FrontendEndpoint属性

FrontendEndpoint属性

名字 描述 价值
主机名 frontendEndpoint 的主机名。 必须是域名。 字符串
sessionAffinityEnabledState 会话 是否允许在此主机上进行会话关联。 有效选项为“Enabled”或“Disabled” “Disabled”
“Enabled”
sessionAffinityTtlSeconds 闲置。 此字段将被忽略。 要以秒为单位用于会话相关性的 TTL(如果适用)。 整数 (int)
webApplicationFirewallPolicy链接 为每个主机定义 Web 应用程序防火墙策略(如果适用) FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 价值
身份证 资源 ID。 字符串

HealthProbeSettingsModel

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 运行状况探测设置的属性 HealthProbeSettingsProperties

HealthProbeSettingsProperties

名字 描述 价值
enabledState 是否允许针对在 backendPools 下定义的后端进行运行状况探测。 只有在单个启用的后端池中存在单个启用的后端时,才能禁用运行状况探测。 “Disabled”
“Enabled”
healthProbeMethod 配置用于探测在 backendPools 下定义的后端的 HTTP 方法。 “GET”
“HEAD”
时间间隔(秒) 运行状况探测之间的秒数。 整数 (int)
路径 用于运行状况探测的路径。 默认值为 / 字符串
协议 用于此探测的协议方案 “Http”
“Https”

LoadBalancingSettingsModel

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 负载均衡设置的属性 LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

名字 描述 价值
additionalLatencyMilliseconds 的 探测下降到最低延迟存储桶的额外延迟(以毫秒为单位) 整数 (int)
sampleSize (样本大小) 要考虑的负载均衡决策的示例数 整数 (int)
successfulSamplesRequired 样本周期内必须成功的示例数 整数 (int)

重定向配置

名字 描述 价值
@odata.type “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需)
自定义片段 要添加到重定向 URL 的片段。 片段是 #之后 URL 的一部分。 请勿包含 #。 字符串
定制主机 要重定向的主机。 将传入主机保留为空,以将传入主机用作目标主机。 字符串
自定义路径 要重定向的完整路径。 路径不能为空,必须以 /开头。 将传入路径保留为空,以用作目标路径。 字符串
customQueryString 要放置在重定向 URL 中的查询字符串集。 设置此值将替换任何现有查询字符串;保留空以保留传入的查询字符串。 查询字符串必须采用 <键>=<值> 格式。 第一个? 并且会自动添加 &,因此不要在前面包含它们,但使用 &分隔多个查询字符串。 字符串
重定向协议 将流量重定向到的目标的协议 “HttpOnly”
“HttpsOnly”
“MatchRequest”
重定向类型 重定向流量时规则将使用的重定向类型。 “Found”
“已移动”
“PermanentRedirect”
“TemporaryRedirect”

资源标签

名字 描述 价值

路由配置

名字 描述 价值
@odata.type 对于 forwardingConfiguration ,请设置为“#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”。 对于 redirectConfiguration 类型,设置为“#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”。 “#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”
“#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需)

路由规则

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 Front Door 路由规则的属性 RoutingRuleProperties

RoutingRuleProperties

名字 描述 价值
acceptedProtocols 协议 要与此规则匹配的协议方案 包含任一项的字符串数组:
“Http”
“Https”
enabledState 是否启用此规则的使用。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
frontendEndpoints 与此规则关联的前端终结点 子资源[]
patternsToMatch 规则的路由模式。 字符串[]
route配置 对路由配置的引用。 路由配置
rules引擎 对要应用于此路由的特定规则引擎配置的引用。 子资源

子资源

名字 描述 价值
身份证 资源 ID。 字符串

用法示例

Azure 快速入门模板

以下 Azure 快速入门模板 部署此资源类型。

模板 描述
使用 Front Door 添加自定义域和自定义证书

部署到 Azure
此模板使用客户管理的证书载入并保护具有 Front Door 的自定义域
使用 Front Door 添加自定义域和托管证书

部署到 Azure
此模板使用 Front Door 载入并保护自定义域
为 Front Door 主机名配置会话相关性

部署到 Azure
此模板更新 Front Door 以启用前端主机的会话相关性,从而将来自同一用户会话的后续流量发送到同一后端。
Front Door 上控制后端的运行状况探测

部署到 Azure
此模板通过设置探测路径以及将发送探测的间隔来更新 Front Door 以更改运行状况探测设置。
创建基本的 Front Door

部署到 Azure
此模板使用单个后端创建基本的 Front Door 配置。
使用 HTTP 到 HTTPS 重定向创建 Front Door

部署到 Azure
此模板创建用于 HTTP 到 HTTPS 重定向的 Front Door 配置。
创建具有多个后端和后端池的 Front Door

部署到 Azure
此模板创建一个 Front Door,其中为后端池中的多个后端以及基于 URL 路径的后端池配置了负载均衡。
在 Azure API 管理 前创建 Azure Front Door

部署到 Azure
此示例演示如何在 Azure API 管理之前将 Azure Front Door 用作全局负载均衡器。
使用 Active-Standby 配置创建 Front Door

部署到 Azure
此模板创建一个 Front Door,用于演示 Active-Standby 应用程序拓扑的基于优先级的路由。
为某些路由启用了缓存的 Front Door

部署到 Azure
此模板创建一个 Front Door,其中为定义的路由配置启用了缓存,从而缓存工作负荷的任何静态资产。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 frontDoors 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Network/frontDoors 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/frontDoors@2020-01-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      backendPools = [
        {
          id = "string"
          name = "string"
          properties = {
            backends = [
              {
                address = "string"
                backendHostHeader = "string"
                enabledState = "string"
                httpPort = int
                httpsPort = int
                priority = int
                privateLinkAlias = "string"
                privateLinkApprovalMessage = "string"
                weight = int
              }
            ]
            healthProbeSettings = {
              id = "string"
            }
            loadBalancingSettings = {
              id = "string"
            }
          }
        }
      ]
      backendPoolsSettings = {
        enforceCertificateNameCheck = "string"
        sendRecvTimeoutSeconds = int
      }
      enabledState = "string"
      friendlyName = "string"
      frontendEndpoints = [
        {
          id = "string"
          name = "string"
          properties = {
            hostName = "string"
            sessionAffinityEnabledState = "string"
            sessionAffinityTtlSeconds = int
            webApplicationFirewallPolicyLink = {
              id = "string"
            }
          }
        }
      ]
      healthProbeSettings = [
        {
          id = "string"
          name = "string"
          properties = {
            enabledState = "string"
            healthProbeMethod = "string"
            intervalInSeconds = int
            path = "string"
            protocol = "string"
          }
        }
      ]
      loadBalancingSettings = [
        {
          id = "string"
          name = "string"
          properties = {
            additionalLatencyMilliseconds = int
            sampleSize = int
            successfulSamplesRequired = int
          }
        }
      ]
      routingRules = [
        {
          id = "string"
          name = "string"
          properties = {
            acceptedProtocols = [
              "string"
            ]
            enabledState = "string"
            frontendEndpoints = [
              {
                id = "string"
              }
            ]
            patternsToMatch = [
              "string"
            ]
            routeConfiguration = {
              @odata.type = "string"
              // For remaining properties, see RouteConfiguration objects
            }
            rulesEngine = {
              id = "string"
            }
          }
        }
      ]
    }
  }
}

RouteConfiguration 对象

设置 @odata.type 属性以指定对象的类型。

对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,请使用:

{
  @odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
  backendPool = {
    id = "string"
  }
  cacheConfiguration = {
    cacheDuration = "string"
    dynamicCompression = "string"
    queryParameters = "string"
    queryParameterStripDirective = "string"
  }
  customForwardingPath = "string"
  forwardingProtocol = "string"
}

对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration,请使用:

{
  @odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"
  customFragment = "string"
  customHost = "string"
  customPath = "string"
  customQueryString = "string"
  redirectProtocol = "string"
  redirectType = "string"
}

属性值

Microsoft.Network/frontDoors

名字 描述 价值
位置 资源位置。 字符串
名字 资源名称 字符串

约束:
最小长度 = 5
最大长度 = 64
模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必需)
性能 Front Door 负载均衡器的属性 FrontDoor属性
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.Network/frontDoors@2020-01-01”

后端

名字 描述 价值
地址 后端的位置(IP 地址或 FQDN) 字符串
backendHost标头 要用作发送到后端的主机标头的值。 如果为空或未指定,则默认为传入主机。 字符串
enabledState 是否启用此后端的使用。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
httpPort 端口 HTTP TCP 端口号。 必须介于 1 到 65535 之间。 int

约束:
最小值 = 1
最大值 = 65535
https端口 HTTPS TCP 端口号。 必须介于 1 到 65535 之间。 int

约束:
最小值 = 1
最大值 = 65535
优先权 用于负载均衡的优先级。 如果优先级较低的后端正常,则不会使用更高的优先级进行负载均衡。 int

约束:
最小值 = 1
最大值 = 5
privateLinkAlias 专用链接资源的别名。 填充此可选字段表示此后端为“专用” 字符串
privateLinkApprovalMessage 要包含在审批请求中以连接到专用链接的自定义消息 字符串
重量 此终结点的权重用于负载均衡。 int

约束:
最小值 = 1
最大值 = 1000

BackendPool 后台泳池

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 Front Door 后端池的属性 BackendPoolProperties

BackendPoolProperties

名字 描述 价值
后端 此池的后端集 后端[]
healthProbe设置 后端池的 L7 运行状况探测设置 子资源
loadBalancingSettings 后端池的负载均衡设置 子资源

BackendPools设置

名字 描述 价值
enforceCertificateNameCheck 是否对所有后端池的 HTTPS 请求强制实施证书名称检查。 对非 HTTPS 请求没有影响。 “Disabled”
“Enabled”
sendRecvTimeoutSeconds 向后端转发请求时发送和接收超时。 达到超时时,请求会失败并返回。 int

约束:
最小值 = 16

缓存配置

名字 描述 价值
缓存持续时间 需要缓存内容的持续时间。 允许的格式采用 ISO 8601 格式(http://en.wikipedia.org/wiki/ISO_8601#Durations)。 HTTP 要求该值不超过一年 字符串
dynamicCompression 压缩 是否对缓存内容使用动态压缩 “Disabled”
“Enabled”
queryParameters 查询参数 要包含或排除的查询参数(逗号分隔)。 字符串
queryParameterStrip指令 在形成缓存密钥时处理 URL 查询词。 “StripAll”
“StripAllExcept”
“StripNone”
“StripOnly”

转发配置

名字 描述 价值
@odata.type “#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”(必需)
后端池 对此规则路由到的 BackendPool 的引用。 子资源
cacheConfiguration 与此规则关联的缓存配置。 缓存配置
customForwardingPath 用于重写此规则匹配的资源路径的自定义路径。 留空以使用传入路径。 字符串
forwardingProtocol 协议 将流量转发到后端时,此规则将使用协议。 “HttpOnly”
“HttpsOnly”
“MatchRequest”

FrontDoor属性

名字 描述 价值
backendPools 可用于路由规则的后端池。 BackendPool[]
backendPools设置 所有 backendPools 的设置 BackendPools设置
enabledState Front Door 负载均衡器的操作状态。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
友好名称 frontDoor 的友好名称 字符串
frontendEndpoints 可用于路由规则的前端终结点。 FrontendEndpoint[]
healthProbe设置 与此 Front Door 实例关联的运行状况探测设置。 HealthProbeSettingsModel[]
loadBalancingSettings 与此 Front Door 实例关联的负载均衡设置。 LoadBalancingSettingsModel[]
routingRules 与此 Front Door 关联的路由规则。 路由规则[]

前端端点

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 前端终结点的属性 FrontendEndpoint属性

FrontendEndpoint属性

名字 描述 价值
主机名 frontendEndpoint 的主机名。 必须是域名。 字符串
sessionAffinityEnabledState 会话 是否允许在此主机上进行会话关联。 有效选项为“Enabled”或“Disabled” “Disabled”
“Enabled”
sessionAffinityTtlSeconds 闲置。 此字段将被忽略。 要以秒为单位用于会话相关性的 TTL(如果适用)。 整数 (int)
webApplicationFirewallPolicy链接 为每个主机定义 Web 应用程序防火墙策略(如果适用) FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 价值
身份证 资源 ID。 字符串

HealthProbeSettingsModel

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 运行状况探测设置的属性 HealthProbeSettingsProperties

HealthProbeSettingsProperties

名字 描述 价值
enabledState 是否允许针对在 backendPools 下定义的后端进行运行状况探测。 只有在单个启用的后端池中存在单个启用的后端时,才能禁用运行状况探测。 “Disabled”
“Enabled”
healthProbeMethod 配置用于探测在 backendPools 下定义的后端的 HTTP 方法。 “GET”
“HEAD”
时间间隔(秒) 运行状况探测之间的秒数。 整数 (int)
路径 用于运行状况探测的路径。 默认值为 / 字符串
协议 用于此探测的协议方案 “Http”
“Https”

LoadBalancingSettingsModel

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 负载均衡设置的属性 LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

名字 描述 价值
additionalLatencyMilliseconds 的 探测下降到最低延迟存储桶的额外延迟(以毫秒为单位) 整数 (int)
sampleSize (样本大小) 要考虑的负载均衡决策的示例数 整数 (int)
successfulSamplesRequired 样本周期内必须成功的示例数 整数 (int)

重定向配置

名字 描述 价值
@odata.type “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需)
自定义片段 要添加到重定向 URL 的片段。 片段是 #之后 URL 的一部分。 请勿包含 #。 字符串
定制主机 要重定向的主机。 将传入主机保留为空,以将传入主机用作目标主机。 字符串
自定义路径 要重定向的完整路径。 路径不能为空,必须以 /开头。 将传入路径保留为空,以用作目标路径。 字符串
customQueryString 要放置在重定向 URL 中的查询字符串集。 设置此值将替换任何现有查询字符串;保留空以保留传入的查询字符串。 查询字符串必须采用 <键>=<值> 格式。 第一个? 并且会自动添加 &,因此不要在前面包含它们,但使用 &分隔多个查询字符串。 字符串
重定向协议 将流量重定向到的目标的协议 “HttpOnly”
“HttpsOnly”
“MatchRequest”
重定向类型 重定向流量时规则将使用的重定向类型。 “Found”
“已移动”
“PermanentRedirect”
“TemporaryRedirect”

资源标签

名字 描述 价值

路由配置

名字 描述 价值
@odata.type 对于 forwardingConfiguration ,请设置为“#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”。 对于 redirectConfiguration 类型,设置为“#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”。 “#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration”
“#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需)

路由规则

名字 描述 价值
身份证 资源 ID。 字符串
名字 资源名称。 字符串
性能 Front Door 路由规则的属性 RoutingRuleProperties

RoutingRuleProperties

名字 描述 价值
acceptedProtocols 协议 要与此规则匹配的协议方案 包含任一项的字符串数组:
“Http”
“Https”
enabledState 是否启用此规则的使用。 允许的值为“Enabled”或“Disabled” “Disabled”
“Enabled”
frontendEndpoints 与此规则关联的前端终结点 子资源[]
patternsToMatch 规则的路由模式。 字符串[]
route配置 对路由配置的引用。 路由配置
rules引擎 对要应用于此路由的特定规则引擎配置的引用。 子资源

子资源

名字 描述 价值
身份证 资源 ID。 字符串