## 说明
匹配位置之所以写在前面,是因为后续的很多规则的配置都需要理解这一节内容,在前面的简介中列出了我们可以匹配的位置,但是不够形象和具体,下面就具体的说明
**对应普通匹配规则中的key**
![](https://img.kancloud.cn/ac/40/ac400c5ad851a4f9ca2694e8a75a2d46_477x346.png)
**对应高级规则,规则组配置中的第一个参数**
![](https://img.kancloud.cn/d5/7c/d57cada30def2066f4ca9e5773b8ebb5_456x355.png)
## 概要说明
![](https://img.kancloud.cn/31/5d/315d97dfe2a3d91fe1db5e8deb6d6aba_1259x562.png)
基本上一个`request` 请求就包含这些信息,这里在对比前面的参数进行较为详细的解释
* scheme
请求协议如 `HTTP 1.0` `HTTP 1.1` `HTTP 2.0`...
* uri
可以理解为 `path` 路径
* remoteIp
发起请求的`ip`地址,直连IP地址
* ip
用户真实`ip`地址,当有CDN等特殊情况时,用户IP放在`header`头中(`X-real-IP` | `X-Forwarded-For`),通过 ngx的realip模块或`openstar`自带的纯`lua`实现的 `realIpFrom_Mod`模块获取的用户真实IP
* serverIp
当时负责反向代理的服务器IP
* http_host
请求头中的 `HOST`
* hostname
真正解析的 `host` ,当一个没有配置反向代理解析的域名到了服务器上,其请求的`HOST`可能是`www.nginx.org`,但是实际工作时,却会解析到对应端口的 `default` 域名上,那么其真实的域名就是该`server`节点的`server_name`
* method
请求方法如 `GET` `POST` `HEAD`...
* referer # 请求的 referer
来源地址,上图的来源地址是`http://nginx.org/`
* useragent # 请求的 useragent
请求的浏览器信息
* cookie # 请求的 cookie
请求时携带的用户会话`cookie`信息
* query_string
`GET`请求参数的完整字符串,包括了请求的参数名和参数的值,也就是图片中`?`后面的内容
* request_uri # 完整的 请求地址 (uri+query_string)
简单的理解就是 `uri` + `query_string` 的拼接(图片中蓝色线加上黄色线的内容)
* http_content_type # 请求头 类型字段
请求头的类型如:`text/plain` `multipart/form-data ...` `application/x-www-form-urlencoded`
* headers
`table`类型,是请求头的完整信息(包括 `cookie`,`referer`,`useragent`等自定义头),一个 `KEY - VALUE` 表
* args
`table` 类型,是GET请求参数的完整信息,一个`KEY - VALUE` 表
* args_data
args表所有`VALUE`的连接
* posts
`table`类型,`POST`方法时,`http_content_type` 为 `x-www-form-urlencoded`,一个`KEY - VALUE`表
* posts_data # posts 该table中所有 value 的连接字符串,连接符 ,
posts表所有`VALUE`的连接(图片中`post_data`为`openstar,3e45bf06417abbsdf06c5dd`)
* posts_all
`POST`方法时,完整的`body`内容(图片中`posts_all`为`username=openstar&passwd=3e45bf06417abbsdf06c5dd`)
* post_form
`table`类型,`POST`方法时,且`http_content_type`为`multipart/form-data...`时的 `KEY - VALUE` 表
POST表单如下
```
<form action="/form/" method="post" enctype="multipart/form-data">
<table>
<tr>
<td><label for="txtname">账号:</label></td>
<td><input type="text" id="txtname" name="login_username" /></td>
</tr>
<tr>
<td><label for="txtpswd">密码:</label></td>
<td><input type="password" id="txtpswd" name="login_pswd" /></td>
</tr>
<tr>
<td colspan=2>
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="Submit" />
</td>
</tr>
</table>
</form>
```
上传数据如下:
![](https://img.kancloud.cn/2e/e6/2ee649f414f3be2a52f730b5ebee6af8_918x647.png)
对应的 `KEY - VALUE ` 表如下:
```
[
["login_username",null,null,"openstar"],
["login_pswd",null,null,"passpasshaha"],
["file","快递.txt","text\/plain","file msg is this!!! h"],
["submit",null,null,"Submit"],
[位置1,位置2,位置3,位置4]
]
```
汇总
![](https://img.kancloud.cn/cd/66/cd6670a6ce51736d82802b336225f67c_782x606.png)
- kcon 兵器谱
- 演示 1
- 演示 2
- 演示 3
- 演示 4
- 演示 5
- 前言
- 安装
- 更新
- 登录后台
- 授权认证
- 集群配置
- 7层防护 -- 最佳实践
- 匹配位置说明
- 匹配方式说明
- 规则匹配详解
- 全局 - CDN规则
- 添加header头配置
- 限速limit配置
- 缓存proxy_cache配置
- 清除缓存
- 全局 - 获取真实IP配置
- 全局 - IP黑白名单
- 全局 - 域名方法配置(白名单)
- 全局 - 跳转规则配置
- 全局 - 高级规则配置
- 全局 - 普通规则配置
- 全局 - 频率规则配置
- 全局 - 内容替换规则
- 内容替换规则(插件使用)
- 全局 - 拦截信息配置
- 全局 - LOG规则配置
- 平台配置
- 基本配置
- 高级配置
- 配置文件管理
- 4 层代理
- 转发配置
- 插件管理
- 防护配置
- 网站管理
- 证书管理
- 域名管理
- 网站规则
- 插件管理
- 插件操作 --- 基本使用
- 插件操作 --- 手机号脱敏插件
- 归档
- 更新日志
- 视频教程目录