帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心 > 如何隐藏Linux和Unix系统服务器上的Nginx版本

如何隐藏Linux和Unix系统服务器上的Nginx版本

发布时间:2020/6/24 10:08:57    来源: A5互联

默认情况下,当你查询HTTP头文件或Nginx服务器产生的错误时,会显示Nginx版本。这篇快速指南解释了如何在不重启系统的情况下隐藏或删除Linux或Unix服务器上的Nginx版本。

1、使用CLI显示当前的Nginx版本。

Nginx会在错误页面和 "服务器 "响应头中显示版本。我们可以用下面的命令来验证。

$ curl -I https://your-domain

$ curl -I https://www.cyberciti.biz

输出结果:

下面是我的HTTP/502错误页面显示信息的输出:

2、使用server_tokens指令隐藏Nginx版本:

你需要将server_tokens设置为关闭,以隐藏Linux和Unix系统上的Nginx服务器版本。用vim/nano等文本编辑器编辑nginx.conf文件。

$ sudo vim /etc/nginx/nginx.conf

我们可以只在http、server或location上下文中设置server_tokens。我将在http部分添加。

server_tokens off;

如下图:

正常重启或重新加载Nginx服务器:

$ sudo nginx -t

$ sudo nginx -s reload

3、验证Nginx版本是否隐藏

使用curl命令,如下所示:

curl -I https://your-domain-name-here

curl -I https://www.cyberciti.biz

看起来没有显示版本:

Firefox浏览器也没有显示Nginx版本:

4、隐藏Nginx版本的其他可能值

语法如下:

server_tokens on | off | build | string。

在Linux、*BSD和Unix上的默认设置如下:

server_tokens on.在Linux、*BSD和Unix上,默认设置如下: server_tokens on;

5、从服务器头和错误页面中删除版本

我们可以更改以下值来启用或禁用nginx版本。

on : 显示版本号。

off : 关闭显示版本号。

build : 确保我们在发布nginx版本的同时也发布了一个版本名。你必须有Nginx 1.11.10版本。

string : 只适用于商业订阅,从1.9.13版本开始,错误页面的签名和 "服务器 "响应头的值可以使用字符串变量明确设置。空字符串则会禁用 "服务器 "字段。

6、在Nginx中设置自定义版本号

例如,商业订阅(Nginx Plus)用户可以按以下方式设置,伪造服务器版本和自定义名称。

server_tokens "NixCraft_WWW";

重新加载Nginx服务器。

# service nginx reload

使用curl命令进行测试

curl -I http://127.0.0.1/

以上是通过隐蔽性功能实现的安全性。它是深度防御的方法之一。但它不应该是主要的防御方式。你需要编写安全的代码。安装一个防火墙,尤其是WAF(Web应用防火墙)。没有必要公开Nginx或PHP或Python版本,因为它可能对攻击者有用。请记住,无论Nginx版本是否公开,Linux / Unix操作系统,Web应用程序/ Nginx都应保持安全