# 转发规则

## 添加内容转发规则

HTTP/HTTPS协议下，VServer支持根据转发策略匹配域名或访问路径，能够将匹配请求转发到后端特定主机，对后端服务节点进行精细化管理默认情况下，会存在一条叫做**默认规则**的策略，该策略在所有请求均未匹配成功时生效，会按照通常的转发规则进行转发。

> 仅HTTP、HTTPS协议监听支持内容转发策略。


### 操作步骤

进入**VServer管理页面**，点击**内容转发**，进行内容转发规则管理。

1、点击**添加规则**，弹出添加规则弹窗。

<!-- image-todo -->


2、**转发规则**。转发规则分为“域名转发”与“路径转发”两种，这两种转发方式均可使用符合PCRE规则的正则表达式进行描述。其他填写限制如下：

|   限制  |   域名转发 | 路径转发 |
| :-------: |:---:|:---: |
| 长度限制 | 转发域名长度限制不超过255个字符，且单级长度不超过63个字符。支持正则表达式和通配域名。| 1-255个字符 | 
| 支持字符 | <br>1、正则表达式支持中文、字母、数字和特殊字符. - ? = ~ _ - + ^ * ! $ : & \| ( ) [ ]。（其中“:”只能用在域名后面加端口的形式，用在非80端口的HTTP和非443端口的HTTPS场景中。） <br>2、通配域名支持中文、字母、数字和特殊字符. : * _ -。 | 支持中文、字母、数字和特殊字符. - _ / = ? ^ * $ ! : ( ) [ ] + \| | 
| 其他 | <br>1、_ 不能出现在开头或结尾。 <br>2、通配域名，目前仅支持 * . 或 . 在开头或者 . * 或 . 在结尾，且单个域名中仅支持 * 出现一次。 | \ |


**域名转发用例**：
- 正则表达式：www.[123].demo.com 可匹配 www.1.demo.com 、 www.2.demo.com 、www.3.demo.com 等域名。
- 通配域名：\*.demo.com 或 .demo.com 可匹配所有以demo.com结尾的域名，www.demo.* 或 www.demo. 可匹配所有以www.demo 开头的域名。


**路径转发用例**：

- 正则表达式：/path/img/.\*.jpg  可匹配 /path/img/路径下所有以jpg结尾的文件，例如/path/img/demo.jpg、/path/img/1/demo.jpg等。

3、**可选节点**。每条规则均需要与已有的服务节点进行关联，选择需要关联的节点。

4、点击**确认**，即完成添加转发规则

<!-- image-todo -->

## 删除内容转发规则

> 默认规则不支持删除。

### 操作步骤

进入**VServer管理页面**，点击**内容转发**，进行内容转发规则管理。

#### 删除单条转发规则

1、选择需要删除的规则，点击**删除**。

<!-- image-todo -->

2、弹出弹窗展示选中的转发规则信息，确认是否是要删除的规则。

3、点击**确定**，即删除该条转发规则。

#### 批量删除转发规则

1、批量选中需要删除的规则左侧的**勾选框**，点击上方的**删除规则**。

<!-- image-todo -->

2、弹出弹窗展示选中的转发规则信息，确认是否是要删除的规则。

3、点击**确定**，即完成批量删除转发规则。


## 管理内容转发规则

### 操作步骤

进入**VServer管理页面**，点击**内容转发**，进行内容转发规则管理。

> 默认规则不能进行编辑。添加规则后，支持编辑当前规则关联的节点。

1、选择需要编辑的转发规则，点击**管理**。

2、弹出管理弹窗。

<!-- image-todo -->


* **可选节点**。当前服务节点资源池中未关联该规则资源列表。
* **转发节点**。当前服务节点资源池中已关联该规则资源列表。

### 增加规则关联的服务节点

1、选中可选节点列表中的资源左侧**勾选框**，移入转发节点列表。

2、点击**确定**，完成关联节点操作。

### 取消已有关联的服务节点

1、选中转发节点列表中的资源左侧**勾选框**，移入可选节点列表。

2、点击**确定**，完成取消关联节点。





