响应报头动作

OpenResty Edge 提供了以下动作来操作响应报头。

设置响应报头

此页面规则进行了 2 个操作:

  • 设置响应报头:可以用于修改或增加响应报头。参数有 报头名报头值报头值 可以是字符串也可以是内置变量。
  • 代理请求到上游。

请求示例

$ curl http://httpbin.org/anything -v
...
< Content-Type: application/json
...

$ curl http://test.com/anything -v
...
< Content-Type: text/html
...

第一个请求是在配置页面规则前发送的,可以看到返回的 Content-Type 是 application/json。 第二个请求是在配置页面规则后发送的,可以看到 Content-Type 被修改成了 text/html

增加响应报头

此页面规则进行了 2 个操作:

  • 增加响应报头:可以用于增加响应报头。参数有 报头名报头值报头值 可以是字符串也可以是内置变量。
  • 代理请求到上游。

请求示例:

$ curl http://test.com/anything -v
...
< X-New-Response-Header: openresty-edge
...

删除响应报头

此页面规则进行了 2 个操作:

  • 增加响应报头:可以用于删除响应报头。有一个参数 报头名,用于指定想要删除的响应报头名称。
  • 代理请求到上游。

请求示例:

$ curl http://httpbin.org/anything -v
...
< Content-Type: application/json
< Content-Length: 379
< Connection: keep-alive
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< Server: openresty+
< Req-ID: 00000180001c4ccd3b780003

$ curl http://test.com/anything -v
...
< Content-Type: application/json
< Content-Length: 379
< Connection: keep-alive
< Access-Control-Allow-Origin: *
< Server: openresty+
< Req-ID: 00000180001c4ccd3eb00004

第一个请求是在配置页面规则前发送的,可以看到存在 Access-Control-Allow-Credentials 响应报头。 第二个请求是在配置页面规则后发送的,可以看到 Access-Control-Allow-Credentials 响应报头已被删除。