欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx的headers_more模块的使用

程序员文章站 2022-07-14 18:48:47
...

nginx的headers_more模块的使用

nginxheaders_more模块用于 添加、修改或清除 请求/响应头,该模块不是nginx自带的,默认不包含该模块,需要另外安装。幸运的是openresty默认包含了该模块,可以直接使用。

该模块主要有4个指令

  • more_set_headers 用于 添加、修改、清除 响应头
  • more_clear_headers 用于 清除 响应头
  • more_set_input_headers 用于 添加、修改、清除 请求头
  • more_clear_input_headers 用于 清除 请求头

以下是使用示例:

1. 删除响应头

去掉X-Powered-ByServer响应头:

more_clear_headers X-Powered-By Server;

删除前:
nginx的headers_more模块的使用

删除后:
nginx的headers_more模块的使用

2.自定义响应头

去掉X-Powered-By响应头,增加一个X-Author响应头,修改Server响应头为Apache,伪装一下。

more_clear_headers X-Powered-By;
more_set_headers "X-Author: Lcy" "Server: Apache 2.4";

效果:
nginx的headers_more模块的使用

3. 修改请求头

把query_string 中的cid参数改写成Cookie

if ($arg_cid) {
  more_set_input_headers "Cookie: PHPSESSID=$arg_cid";
}

效果如下:

nginx的headers_more模块的使用

4.参考

该模块的详细文档可参考 headers-more-nginx-module