Skip to content

Commit

Permalink
Update configuration.md
Browse files Browse the repository at this point in the history
Changed the format of BackendService, Filters configuration moved from Service to Route and BackendService.
  • Loading branch information
wanpf authored Sep 15, 2023
1 parent 30db4a3 commit 75d3600
Showing 1 changed file with 85 additions and 75 deletions.
160 changes: 85 additions & 75 deletions content/zh-cn/reference/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@ weight: 1
|1|EnableDebug|是否输出调试日志信息|true,false||
|2|StripAnyHostPort|是否忽略 HTTP 请求头中 Host 的端口号,<br>比如:将 Host: [www.aaa.com:8080](http://www.aaa.com:8080) <br>视为 Host: [www.aaa.com](http://www.aaa.com) |true,false||
|3|DefaultPassthroughUpstreamPort|TLS Passthrough 场景,<br>如果没有配置上游端口,则使用此端口号|1~65535,通常设置为 443||
|4|SocketTimeout|配置socket网络超时时间(单位:秒)|大于0,默认是60||
|5|PidFile|将pipy进程id写入到文件|例子:/var/log/pipy.pid||
|4|SocketTimeout|配置socket网络超时时间(单位:秒)|大于0,默认是60||
|5|PidFile|将pipy进程id写入到文件|例子:/var/log/pipy.pid||
|6|ResourceUsage|配置采集pipy cpu、mem使用率|参考 1.1||
|7|HealthCheckLog|配置健康检查日志用的存储服务器信息|参考1.2||

### 1.1 ResourceUsage
|编号|配置项名称|用途描述|可选值|是否必须|
### 1.1 ResourceUsage
|编号|配置项名称|用途描述|可选值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|ScrapeInterval|采集cpu、mem使用率的时间间隔(单位:秒)|大于0,建议60||
|2|StorageAddress|存储cpu、mem使用率的REST url|如果没有配置就不存储||
|3|Authorization|访问REST url用的 Basic认证信息|如果没有启用认证就不需要配置||
|1|ScrapeInterval|采集cpu、mem使用率的时间间隔(单位:秒)|大于0,建议60||
|2|StorageAddress|存储cpu、mem使用率的REST url|如果没有配置就不存储||
|3|Authorization|访问REST url用的 Basic认证信息|如果没有启用认证就不需要配置||

### 1.2 HealthCheckLog
|编号|配置项名称|用途描述|可选值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|StorageAddress|存储健康检查日志的REST url|如果没有配置就不存储健康检查日志||
|2|Authorization|访问REST url用的 Basic认证信息|如果没有启用认证就不需要配置||
### 1.2 HealthCheckLog
|编号|配置项名称|用途描述|可选值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|StorageAddress|存储健康检查日志的REST url|如果没有配置就不存储健康检查日志||
|2|Authorization|访问REST url用的 Basic认证信息|如果没有启用认证就不需要配置||

## 2. 监听端口配置(Listeners)

Expand Down Expand Up @@ -85,7 +85,7 @@ weight: 1
| 1 | RouteType | 路由类型 | HTTP、GRPC ||
| 2 | Matches | 匹配规则 | 参考 3.1.1.1 ||
| 3 | RateLimit | 域名限流配置 | 参考 3.1.1.2 ||
| 4 | AccessControlLists | 访问控制列表,设置访问者 IP 地址黑白名单。如果设置了白名单,就以白名单为准;如果未设置白名单,就以黑名单为准。 | ||
| 4 | AccessControlLists | 访问控制列表,设置访问者 IP 地址黑白名单。如果设置了白名单,就以白名单为准;如果未设置白名单,就以黑名单为准。 | 参考 2.1 ||

##### 3.1.1.1 Matches

Expand All @@ -95,11 +95,12 @@ weight: 1
| 2 | Headers | HTTP header 匹配 | 参考 3.1.1.1.2 ||
| 3 | Methods | 允许的 HTTP Method | ['GET', 'POST', 'DELETE', 'PUT'] ||
| 4 | QueryParams | HTTP 请求参数匹配 | 参考 3.1.1.1.3 ||
| 5 | BackendService | 后端服务 | {<br> " 服务名 ": 100<br>} | BackendService 或 ServerRoot 必须有一个存在 |
| 5 | BackendService | 动态代理用的后端服务 | 参考 3.1.1.1.4 | BackendService 或 ServerRoot 必须有一个存在 |
| 6 | ServerRoot | 静态页面所对应的目录 | "/var/www/html" | BackendService 或 ServerRoot 必须有一个存在 |
| 7 | Method | RouteType 为 GRPC 时,匹配服务 | 参考 3.1.1.1.4 ||
| 7 | Method | RouteType 为 GRPC 时,匹配服务 | 参考 3.1.1.1.5 ||
| 8 | RateLimit | 路由限流配置 | 参考 3.1.1.2 ||
| 9 | AccessControlLists | 访问控制列表,设置访问者 IP 地址黑白名单。如果设置了白名单,就以白名单为准;如果未设置白名单,就以黑名单为准。 | ||
| 9 | AccessControlLists | 访问控制列表,设置访问者 IP 地址黑白名单。如果设置了白名单,就以白名单为准;如果未设置白名单,就以黑名单为准。 | 参考 2.1 ||
| 10 | Filters | 过滤器配置 | 参考 3.1.1.1.6 ||

###### 3.1.1.1.1 Path

Expand All @@ -122,7 +123,18 @@ weight: 1
|1|Exact|精确匹配 Params|"QueryParams": {<br> "Exact": {<br> "abc": "1"<br> },<br> "Regex": {<br> "xxx": "^[0-9]+"<br> }<br> }||
|2|Regex|正则匹配 Params|同上||

###### 3.1.1.1.4 Method
###### 3.1.1.1.4 BackendService
|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|后端服务名|后端服务的名称,比如:"backendService1" |参考:3.1.1.1.4.1||

###### 3.1.1.1.4.1 BackendService后端服务名
|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|Weight|权重|整数||
|2| Filters | 过滤器配置 | 参考 3.1.1.1.6 ||

###### 3.1.1.1.5 Method

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
Expand Down Expand Up @@ -159,6 +171,56 @@ weight: 1
|:----:|:---------|:-----|:------|:-------:|
|1|域名|服务域名和对应的上游服务列表|"abc.com": <br>{<br> "service1": 100<br>}||

##### 3.1.1.1.6 Filters

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|RequestHeaderModifier| 修改 HTTP 请求头 |参考 3.1.1.1.6.1||
|2|ResponseHeaderModifier|修改 HTTP 应答头|参考 3.1.1.1.6.2||
|3|RequestRedirect|请求重定向|参考 3.1.1.1.6.3||
|4|URLRewrite|请求的 URL 重写|参考 3.1.1.1.6.4||

###### 3.1.1.1.6.1 RequestHeaderModifier

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|set|设置 HTTP header|[<br>{<br>"name": "my-header1",<br>"value": "foo"<br>}<br>]||
|2|add|增加 HTTP header|[<br>{<br>"name": "my-header2",<br>"value": "bar"<br>}<br>]||
|3|remove|删除 HTTP header|[<br>"my-header3",<br>"my-header4"<br>]||

###### 3.1.1.1.6.2 ResponseHeaderModifier

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|set|设置 HTTP header|[<br>{<br>"name": "my-header1",<br>"value": "foo"<br>}<br>]||
|2|add|增加 HTTP header|[<br>{<br>"name": "my-header2",<br>"value": "bar"<br>}<br>]||
|3|remove|删除 HTTP header|[<br>"my-header3",<br>"my-header4"<br>]||

###### 3.1.1.1.6.3 RequestRedirect

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|scheme|协议描述|http、https||
|2|hostname|重定向到的域名|||
|3|path|重定向到的路径|||
|4|port|重定向到的端口|||
|5|statusCode|重定向返回的状态码|301、302||

###### 3.1.1.1.6.4 URLRewrite

| 编号 | 配置项名称 | 用途描述 | 参考值 | 是否必须 |
|:----:|:---------- |:--------------- |:--------------- |:--------:|
| 1 | hostname | 主机名/域名重写 | sub.example.com ||
| 2 | path | 路径重写规则 | 参考 3.1.1.1.6.4.1 ||

###### 3.1.1.1.6.4.1 URLRewrite Path 规则

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|type|Url 重写匹配规则|ReplacePrefixMatch:前缀匹配<br>ReplaceFullPath:全路径匹配||
|2|replacePrefixMatch|前缀匹配时替换 path||type 为 ReplacePrefixMatch 时,必须配置|
|3|replaceFullPath|全路径匹配时替换 path||type 位 ReplaceFullPath 时,必须配置|

## 4. 服务配置(Services)

|编号|配置项名称|用途描述|参考值|是否必须|
Expand All @@ -172,12 +234,11 @@ weight: 1
| 1 | StickyCookieName | 使用 cookie sticky 负载均衡时,cookie 的名称 | "\_srv\_id" ||
| 2 | StickyCookieExpires | 使用 cookie sticky 时,cookie 的有效期 | 3600 ||
| 3 | HealthCheck | 对上游服务的健康检查配置 | 参考 4.1.1 ||
| 4 | Endpoints | 上游服务信息 | 参考 4.1.2 ||
| 5 | Filters | 过滤器配置 | 参考 4.1.3 ||
| 6 | CircuitBreaking | 熔断配置,用于 Protocol 为 HTTP、HTTPS 的场景 | 参考 4.1.4 ||
| 7 | RetryPolicy | 重试配置,用于 Protocol 为 HTTP、HTTPS 的场景 | 参考 4.1.5 ||
| 8 | UpstreamCert | 访问上游使用 默认使用的 TLS 证书 | 参考 4.1.6 ||
| 9 | Algorithm | 负载均衡算法,支持 RoundRobinLoadBalancer(未指定时默认使用)、HashingLoadBalancer、LeastConnectionLoadBalancer | "RoundRobinLoadBalancer" ||
| 4 | Endpoints | 上游服务信息 | 参考 4.1.2 ||
| 5 | CircuitBreaking | 熔断配置,用于 Protocol 为 HTTP、HTTPS 的场景 | 参考 4.1.4 ||
| 6 | RetryPolicy | 重试配置,用于 Protocol 为 HTTP、HTTPS 的场景 | 参考 4.1.5 ||
| 7 | UpstreamCert | 访问上游使用 默认使用的 TLS 证书 | 参考 4.1.6 ||
| 8 | Algorithm | 负载均衡算法,支持 RoundRobinLoadBalancer(未指定时默认使用)、HashingLoadBalancer、LeastConnectionLoadBalancer | "RoundRobinLoadBalancer" ||

#### 4.1.1 HealthCheck

Expand All @@ -194,7 +255,7 @@ weight: 1
|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|Type|匹配类型|status、body、headers||
|2|Value|期望的数据|||
|2|Value|期望的数据|Type 为 status 时配置HTTP状态码数组,比如: [ 200 ] ||
|3|Name|type 为 headers 时,http 头字段名|||

#### 4.1.2 Endpoints
Expand All @@ -211,57 +272,6 @@ weight: 1
|2|Tags|标记|||
|3|UpstreamCert|访问上游用的 TLS 证书|||

#### 4.1.3 Filters

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|RequestHeaderModifier| 修改 HTTP 请求头 |参考 4.1.3.1||
|2|ResponseHeaderModifier|修改 HTTP 应答头|参考 4.1.3.2||
|3|RequestRedirect|请求重定向|参考 4.1.3.3||
|4|HTTPURLRewriteFilter|请求的 URL 重写|参考 4.3.1.4||

##### 4.1.3.1 RequestHeaderModifier

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|set|设置 HTTP header|[<br>{<br>"name": "my-header1",<br>"value": "foo"<br>}<br>]||
|2|add|增加 HTTP header|[<br>{<br>"name": "my-header2",<br>"value": "bar"<br>}<br>]||
|3|remove|删除 HTTP header|[<br>"my-header3",<br>"my-header4"<br>]||

##### 4.1.3.2 ResponseHeaderModifier

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|set|设置 HTTP header|[<br>{<br>"name": "my-header1",<br>"value": "foo"<br>}<br>]||
|2|add|增加 HTTP header|[<br>{<br>"name": "my-header2",<br>"value": "bar"<br>}<br>]||
|3|remove|删除 HTTP header|[<br>"my-header3",<br>"my-header4"<br>]||

##### 4.1.3.3 RequestRedirect

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|scheme|协议描述|http、https||
|2|hostname|重定向到的域名|||
|3|path|重定向到的路径|||
|4|port|重定向到的端口|||
|5|statusCode|重定向返回的状态码|301、302||

##### 4.1.3.4 HTTPURLRewriteFilter

| 编号 | 配置项名称 | 用途描述 | 参考值 | 是否必须 |
|:----:|:---------- |:--------------- |:--------------- |:--------:|
| 1 | hostname | 主机名/域名重写 | sub.example.com ||
| 2 | path | 路径重写规则 | 参考 4.1.3.4.1 ||

###### 4.1.3.4.1 HTTPURLRewriteFilter Path 规则

|编号|配置项名称|用途描述|参考值|是否必须|
|:----:|:---------|:-----|:------|:-------:|
|1|type|Url 重写匹配规则|ReplacePrefixMatch:前缀匹配<br>ReplaceFullPath:全路径匹配||
|2|replacePrefixMatch|前缀匹配时的 path||type 为 ReplacePrefixMatch 时,必须配置|
|3|replacePrefix|前缀匹配时替换成这个 path|默认为:"/"|type 为 ReplacePrefixMatch 时,可配置|
|4|replaceFullPath|全路径匹配时的 path||type 位 ReplaceFullPath 时,必须配置|

#### 4.1.4 CircuitBreaking

|编号|配置项名称|用途描述|参考值|是否必须|
Expand Down

0 comments on commit 75d3600

Please sign in to comment.