Nginx 的一些漏洞会在特定的版本中出现,暴漏的版本号就可能成为攻击者可以利用的信息;隐藏 Nginx 版本信息是一项简单却有效的服务器安全措施。

默认情况下,Nginx 在返回应答时,会在 Header 中设置一个 Server 的字段,其中就包含 Nginx的名称和版本信息;返回的 4xx、5xx 默认页面也会显示 Nginx 的版本号。

查看 Nginx 是否隐藏了版本信息

使用浏览器访问一个不存在的页面,查看其返回的 404 页面是否包含版本信息;

Nginx版本信息
Nginx 版本信息

或者使用 HTTP 请求工具查看服务器的应答头(Response Header),这里在 Linux 下使用了curl命令:

curl -I http://127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.20.2
Date: Wed, 09 Jul 2025 10:44:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive

其中Server字段的值:nginx/1.20.2就包含了版本信息;

隐藏版本信息

编辑 Nginx 配置文件nginx.conf,在http块中添加:

server_tokens off;

修改后需要重启 Nginx 服务才会生效;

Nginx 版本号被隐藏
Nginx 版本号被隐藏

当需要显示版本信息时,只需要将该指令移除或将参数改为on即可;