代理请求头动作
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 是页面规则中指定的值。