nginx的headers_more模塊用於 添加、修改或清除 請求/響應頭,該模塊不是nginx自帶的,默認不包含該模塊,需要另外安裝。幸運的是openresty默認包含了該模塊,可以直接使用。
該模塊主要有4個指令
more_set_headers 用於 添加、修改、清除 響應頭
more_clear_headers 用於 清除 響應頭
more_set_input_headers 用於 添加、修改、清除 請求頭
more_clear_input_headers 用於 清除 請求頭
以下是使用示例:
1. 刪除響應頭
去掉X-Powered-By 和 Server響應頭:
more_clear_headers X-Powered-By Server;
刪除前:
刪除后:
2.自定義響應頭
去掉X-Powered-By響應頭,增加一個X-Author響應頭,修改Server響應頭為Apache,偽裝一下。
more_clear_headers X-Powered-By;
more_set_headers "X-Author: Lcy" "Server: Apache 2.4";
效果:
3. 修改請求頭
把query_string 中的cid參數改寫成Cookie。
if ($arg_cid) {
more_set_input_headers "Cookie: PHPSESSID=$arg_cid";
}
效果如下: