

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# VPC Lattice 服务的侦听器规则
<a name="listener-rules"></a>

每个侦听器都具有默认规则，您也可以定义其他规则。每条规则由优先级、一个或多个操作以及一个或多个条件组成。您可以随时添加或编辑规则。

**Topics**
+ [默认规则](#listener-default-rule)
+ [规则优先级](#listener-rule-priority)
+ [规则操作](#listener-rule-actions)
+ [规则条件](#listener-rule-conditions)
+ [添加规则](#add-rules)
+ [更新规则](#update-rules)
+ [删除规则](#delete-rules)

## 默认规则
<a name="listener-default-rule"></a>

创建侦听器时，请为默认规则定义操作。默认规则不能有条件。如果未满足侦听器的任一规则条件，则将执行默认规则的操作。

## 规则优先级
<a name="listener-rule-priority"></a>

每个规则都有一个优先级。规则是按优先级顺序 (从最低值到最高值) 计算的。最后评估默认规则。您可以随时更改非默认规则的优先级。您不能更改默认规则的优先级。

## 规则操作
<a name="listener-rule-actions"></a>

VPC Lattice 服务的侦听器支持转发操作和固定响应操作。

### 转发操作
<a name="forward-actions"></a>

您可以使用 `forward` 操作，将请求路由到一个或多个 VPC Lattice 目标组。如果为某个 `forward` 操作指定多个目标组，您必须为每个目标组指定权重。每个目标组权重都是一个介于 0 到 999 之间的值。对于将侦听器规则与加权目标组匹配的请求，会根据这些目标组的权重分配给这些目标组。例如，如果指定两个目标组，每个目标组的权重为 10，则每个目标组将接收一半的请求。如果指定两个目标组，一个权重为 10，另一个权重为 20，则权重为 20 的目标组接收的请求将是另一个目标组的两倍。

### 固定响应操作
<a name="fixed-response-actions"></a>

您可以使用 `fixed-response` 操作删除客户端请求并返回自定义 HTTP 响应。您可以使用此操作返回 404 或 500 响应码。

**Example 的固定响应操作示例 AWS CLI**  
您可以在创建或更新规则时指定操作。以下操作发送具有指定状态代码的固定响应。  

```
"action": { 
    "fixedResponse": { 
        "statusCode": 404
},
```

## 规则条件
<a name="listener-rule-conditions"></a>

每个规则条件都有类型和配置信息。当规则的条件满足时，将执行其操作。

以下是规则支持的匹配条件：

**标头匹配**  
路由基于每个请求的 HTTP 标头。您可以使用 HTTP 标头条件来配置基于请求的 HTTP 标头路由请求的规则。您可以指定标准或自定义 HTTP 标头字段的名称。标头名称和匹配评估不区分大小写。您可以通过开启区分大小写来更改此设置。标头名称不支持通配符。标头匹配支持前缀匹配、精确匹配和包含匹配。

**方法匹配**  
路由基于每个请求的 HTTP 请求方法。  
您可以使用 HTTP 请求方法条件来配置基于请求的 HTTP 请求方法路由请求的规则。您可以指定标准或自定义 HTTP 方法。方法匹配区分大小写。方法名称必须完全匹配。不支持通配符。

**路径匹配**  
路由基于匹配请求中的路径模式 URLs。  
您可以使用路径条件定义规则，根据请求中的 URL 路由请求。不支持通配符。支持路径前缀和精确匹配。

## 添加规则
<a name="add-rules"></a>

您可以随时添加侦听器规则。

**要使用控制台添加侦听器**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中的 **VPC Lattice** 下，选择**服务**。

1. 选择服务名称以打开其详细信息页面。

1. 在**路由**选项卡上，选择**编辑侦听器**。

1. 展开**侦听器规则**并选择**添加规则**。

1. 对于**规则名称**，输入规则的名称。

1. 对于**优先级**，输入 1 到 100 之间的优先级。规则是按优先级顺序 (从最低值到最高值) 计算的。最后评估默认规则。

1. 对于**条件**，输入路径匹配条件的路径模式。每个字符串的最大长度为 200 个字符。比较不区分大小写。不支持通配符。

   要添加标头匹配或方法匹配规则条件，请使用 AWS CLI 或 S AWS DK。

1. 对于**操作**，选择 VPC Lattice 目标组。

1. 选择**保存更改**。

**要添加规则，请使用 AWS CLI**  
使用 [create-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-rule.html) 命令。

## 更新规则
<a name="update-rules"></a>

您可以随时更新侦听器规则。您可以修改其优先级、条件、目标组以及每个目标组的权重。无法修改规则的名称。

**要使用控制台更新侦听器规则**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中的 **VPC Lattice** 下，选择**服务**。

1. 选择服务名称以打开其详细信息页面。

1. 在**路由**选项卡上，选择**编辑侦听器**。

1. 根据需要修改规则优先级、条件和操作。

1. 查看您的更新并选择**保存更改**。

**要更新规则，请使用 AWS CLI**  
使用 [update-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/update-rule.html) 命令。

## 删除规则
<a name="delete-rules"></a>

您可以随时删除侦听器的非默认规则。您不能删除侦听器的默认规则。删除侦听器时，会删除所有规则。

**要使用控制台删除侦听器规则**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中的 **VPC Lattice** 下，选择**服务**。

1. 选择服务名称以打开其详细信息页面。

1. 在**路由**选项卡上，选择**编辑侦听器**。

1. 找到规则并选择**删除**。

1. 选择**保存更改**。

**要删除规则，请使用 AWS CLI**  
使用 [delete-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/delete-rule.html) 命令。