
在 Nginx 的 http 块中配置 server_tokens off;,可全局禁用响应头中的版本号信息,提升安全性。
作用与效果
默认情况下,Nginx 在 HTTP 响应头(如 Server: nginx/1.24.0)和错误页面中会暴露版本号。攻击者可利用该信息针对性发起已知漏洞攻击。启用 server_tokens off; 后:
响应头中的 Server 字段仅显示 nginx,不带版本号所有内置错误页(如 404、502)也不再显示 Nginx 版本和操作系统信息该设置对性能无影响,纯属安全加固手段
配置位置与写法
必须放在 http 块内(而非 server 或 location),才能全局生效:
http { include mime.types; default_type application/octet-stream;<pre class=’brush:php;toolbar:false;’>server_tokens off; # ← 放在这里,顶格缩进,分号不可省略sendfile on;keepalive_timeout 65;…
}
若在 server 块中重复设置,不会覆盖 http 级别配置;Nginx 不支持 per-server 关闭版本号,仅支持全局控制。
验证是否生效
修改配置后需重载 Nginx(nginx -s reload),然后用 curl 检查响应头:
curl -I https://your-domain.com
正常应看到:Server: nginx而不是:Server: nginx/1.24.0
同时可尝试访问一个不存在的路径(如 /nonexistent),确认错误页面中不再出现版本字符串。
注意事项
该配置不能隐藏其他服务组件的版本(如 PHP-FPM、后端应用服务器),需单独处理某些 CDN 或反向代理(如 Cloudflare)可能覆盖或忽略此头,需在其控制台同步关闭 Server 头部分安全扫描工具仍可能通过指纹识别推测 Nginx 版本,因此建议配合及时升级主程序

评论(0)