代理请求报头动作
OpenResty Edge 提供了以下动作来修改代理到上游的请求报头。
设置代理报头
这个页面规则中:
- 使用了动作
设置代理报头
; - 启用了代理,方便检查检查动作执行结果。
设置代理报头
要求两个参数 报头
以及 值
。其中 值
的类型可以选择 字符传
和 内置变量
。
内置变量
有以下取值:(请以您使用的 Edge Admin 为准,不同版本的支持情况不同)
- 客户端地址
- 客户端端口
- 主机名
- 协议
- 请求报头
X-Forwarded-For
中的第一个地址 - 请求报头
X-Forwarded-For
中的最后一个地址 - 请求头
- 系统主机名
- SSL 客户端主题专有名称
- SSL 客户端签发商专有名称
- SSL 客户端验证结果
请求示例:
$ curl http://test.com/anything
{
...
"headers": {
"X-Proxy-Header": "127.0.0.1"
},
...
}
本示例中使用了内置变量 客户端地址
来设置代理头 X-Proxy-Header
。
设置代理主机
这个动作的作用是设置代理主机名,只有一个参数 主机名
。
请求示例:
$ curl http://test.com/anything
{
...
"headers": {
"Host": "openresty-edge.com",
},
...
}
可以看到,主机名从 test.com
被修改了成 openresty-edge.com
。
代理头追加值
这个动作会在指定的报头中追加值,以英文逗号(,)分割。它的的参数与 类似,参考 进行设置即可。
请求示例:
curl http://test.com/anything -H 'X-Route-Trace: 127.0.0.1'
{
...
"headers": {
"X-Route-Trace": "127.0.0.1,1.2.3.4"
},
...
}
可以看到,请求的 X-Route-Trace 报头的原始值是 127.0.0.1
,被修改成了 127.0.0.1,1.2.3.4
,
其中,1.2.3.4
是页面规则中指定的值。