Nginx 模块 headers_more 的使用

2023 年 7 月 31 日 星期一(已编辑)
/ , ,
49
1
AI 生成的摘要
这篇文章上次修改于 2024 年 6 月 8 日 星期六,可能部分内容已经不适用,如有疑问可询问作者。

Nginx 模块 headers_more 的使用

前言

headers_more 模块是一个非常有用的 nginx 扩展,它能让我们在处理 HTTP 请求和响应头时变得更加得心应手。通过 headers_more,我们可以轻松地添加、修改、删除请求和响应头,这真是为我们的网站带来了天翻地覆的变化!

在我们的日常工作中,经常会遇到需要动态地设定 HTTP 头的情况。有时候,我们想要隐藏服务器的版本信息,有时候又需要为了安全性而添加一些特殊的头部。而 headers_more 就像一个魔法盒子,为我们提供了一系列指令,让我们能够轻松地在 nginx 配置中操控这些头部。

而且,使用 headers_more 模块还能让我们的配置文件变得更加清晰、简洁。不需要再写一堆复杂的 if 语句和 rewrite 规则来实现头部操作,只需简单地调用 headers_more 提供的指令,一切就能搞定!

总之,headers_more 模块是 nginx 扩展中的一颗璀璨明珠,让我们的工作变得更加高效、灵活。它就像一把钥匙,打开了 HTTP 头部的无限可能性,让我们的网站变得更加强大!

以上废话由 ChatGPT 生成

安装

本文以宝塔面板做演示,手搓环境用户操作理论大同小异

如果你已经在宝塔面板安装了 Nginx,请先将其卸载(已有站点数据不会丢失)
如果你没安装,那就可以进入第一步了

去宝塔面板应用商店里找到 Nginx,点安装,选编译安装

1

1

然后点击 添加自定义模块

2

2

前两个可以随便写,只能英文并且包含下划线
模块参数写

--add-module=/www/server/ngx_modules/headers_more

前置脚本写

mkdir /www/server/ngx_modules
cd /www/server/ngx_modules
wget https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.37.zip
unzip v0.37.zip
rm -rf v0.37.zip
mv headers-more-nginx-module-0.37 headers_more

然后点确定

3

3

勾上你刚才自定义的模块,点安装
然后等个多长多长时间

注意:如果你的服务器 wget 和我的一样存在 ssl 抽风问题,大概会出现以下情况
4

4

别急,用你喜欢的编辑器打开 /etc/wgetrc
然后找个你喜欢的地方插入这一行

check-certificate = off

就像这样

5

5

然后保存退出,回来重新点编译安装并勾上你的自定义模块
不出意外就会顺利的安装上

配置

单站点生效

只需要打开该站点的设置,找到伪静态,贴进去就行

more_set_headers "Server: MiaoServer/114.514";

当然你还可以改成其他的,这里就做个示范
然后保存就设置完成了

全局生效

打开 Nginx 设置,找到配置修改

6

6

在差不多这个位置的下面贴上

more_set_headers "Server: MiaoServer/114.514";

然后保存就行了

其他命令

当然这玩意不止这一种玩法,其他的可以自行摸索

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

效果

修改前

root@M1ao:~# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 31 Jul 2023 18:20:01 GMT
Content-Type: text/html
Content-Length: 138
Last-Modified: Sat, 22 Jul 2023 05:33:01 GMT
Connection: keep-alive
ETag: "64bb6a0d-8a"
Accept-Ranges: bytes

root@M1ao:~#

修改后

root@M1ao:~# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: MiaoServer/114.514
Date: Mon, 31 Jul 2023 18:21:12 GMT
Content-Type: text/html
Content-Length: 138
Last-Modified: Sat, 22 Jul 2023 05:33:01 GMT
Connection: keep-alive
ETag: "64bb6a0d-8a"
Accept-Ranges: bytes

root@M1ao:~#

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...