本文作者:心月

nginx服务器中去除Server响应头的方法

心月IT博客 12-26
nginx服务器中去除Server响应头的方法摘要:1、隐藏nginx的版本号,在nginx.conf配置文件的http模块下添加如下配置:server_tokensoff;2、彻底隐藏Server响应头可以采用重新编译nginx然后替换nginx二进制文件的方法来实现①查看nginx的版本nginx-v比如返回的是,nginx version: nginx 1.10.3,那此时我的nginx版本就是1.10.3②然后在官网找到对应的nginx的版本号下载,并解压:https: nginx.org d...

Snipaste_2025-12-26_11-16-53.png

1、隐藏nginx的版本号,在nginx.conf配置文件的http模块下添加如下配置:

server_tokens off;

Snipaste_2025-12-26_11-46-37.png

Snipaste_2025-12-26_11-48-39.png

2、彻底隐藏Server响应头

可以采用重新编译nginx然后替换nginx二进制文件的方法来实现

①查看nginx的版本

nginx -v

比如返回的是,nginx version: nginx/1.10.3,那此时我的nginx版本就是1.10.3

②然后在官网找到对应的nginx的版本号下载,并解压:https://nginx.org/download/

wget  https://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz

③下载headers-more-nginx-module包,然后解压

wget https://github.com/openresty/headers-more-nginx-module/archive/refs/heads/master.zip
unzip master.zip

④查看原nginx安装参数命令,这与查看版本号的命令不一样,查看版本号是小写的“v”,查看安装命令参数是大小的“V”

nginx -V

⑤重新编译nginx

cd nginx-1.10.3 #进入nginx-1.10.3.tar.gz源码包解压后的目录
./configure [原nginx的安装参数]  --add-module=/path/to/headers-more-nginx-module

原nginx的安装参数:nginx -V命令返回数据configure arguments: 之后的内容

/path/to/headers-more-nginx-module:第③步中unzip master.zip 解压后的目录路径

执行./configure 命令后如果有报错,大部分情况是缺少某些依赖,根据提示逐一安装好后,再执行一次前面执行的./configure 命令,成功之后会显示nginx二进制文件所在位置

Snipaste_2025-12-26_14-17-47.png

⑥make,重新编译执行结束没报错后再次执行make,只要执行make就行了

make

./configure 编译成功后会在当前目录下生成一个objs目录,当make执行完后会在objs目录下生成nginx的二进制文件

⑦nginx二进制文件替换,在替换nginx二进制文件前先停止nginx服务

systemctl stop nginx
ls -l /usr/sbin/|grep nginx #查看nginx二进制文件的权限
cp /usr/sbin/nginx /usr/sbin/nginx.bak #担心出什么问题的话可以先备份原来的nginx二进制文件
cp objs/nginx /usr/sbin/ #把objs目录下新生成的nginx二进制文件拷贝到/usr/sbin/目录下,替换掉原来的nginx二进制文件
ls -l /usr/sbin/|grep nginx #再次查看nginx二进制文件替换后的权限,如果与替换前不一致,需修改新nginx二进制文件的权限,修改为与原来一致

⑧添加more_clear_headers 'Server',如果是希望nginx下的所有站点都隐藏Server头,那就在nginx.conf文件的http模块下添加more_clear_headers 'Server';

如果只是希望某个站点隐藏Server头,就在这个站点的配置文件的server模块下添加more_clear_headers 'Server';

#所有站点都隐藏Server头
vi /etc/nginx/nginx.conf
#在http模块中引入配置文件前的任意位置添加
more_clear_headers 'Server';

#单个站点隐藏Server头
vi /etc/nginx/conf/站点配置文件
#在server模块,server_name下添加
more_clear_headers 'Server';

⑨启动nginx服务,并验证

nginx -t  #检查配置是否有问题
systemctl start nginx #启动nginx服务

此时访问请求响应头中已经没有Server头了

Snipaste_2025-12-26_14-39-41.png

文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 12-26
若转载请注明原文及出处:

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论