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,点安装,选编译安装
然后点击 添加自定义模块
前两个可以随便写,只能英文并且包含下划线
模块参数写
--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
然后点确定
勾上你刚才自定义的模块,点安装
然后等个多长多长时间
别急,用你喜欢的编辑器打开 /etc/wgetrc
然后找个你喜欢的地方插入这一行
check-certificate = off
就像这样
然后保存退出,回来重新点编译安装并勾上你的自定义模块
不出意外就会顺利的安装上
配置
单站点生效
只需要打开该站点的设置,找到伪静态,贴进去就行
more_set_headers "Server: MiaoServer/114.514";
当然你还可以改成其他的,这里就做个示范
然后保存就设置完成了
全局生效
打开 Nginx 设置,找到配置修改
在差不多这个位置的下面贴上
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:~#