插件窝 干货文章 如何将我们的Nginx的版本号进行隐藏

如何将我们的Nginx的版本号进行隐藏

Nginx server 方法 配置 271    来源:    2025-04-20

隐藏Nginx版本号的方法

隐藏Nginx版本号可以增强服务器安全性,防止攻击者利用特定版本漏洞进行攻击。以下是几种隐藏Nginx版本号的方法:

方法一:修改nginx.conf配置文件

  1. 打开Nginx主配置文件(通常位于/etc/nginx/nginx.conf
  2. http块中添加以下指令:
http {
    server_tokens off;
    # 其他配置...
}
  1. 保存文件并重新加载Nginx配置:
sudo nginx -t && sudo nginx -s reload

方法二:修改源码并重新编译(更彻底的方法)

  1. 编辑Nginx源码目录下的src/core/nginx.h文件:
#define NGINX_VERSION      "1.2.3"  // 修改为你想要的版本号或空字符串
#define NGINX_VER          "nginx/" NGINX_VERSION  // 可以修改为其他字符串
  1. 编辑src/http/ngx_http_header_filter_module.c文件:
static char ngx_http_server_string[] = "Server: nginx" CRLF;
// 修改为:
static char ngx_http_server_string[] = "Server: Web Server" CRLF;
  1. 重新编译并安装Nginx

方法三:使用headers-more模块

  1. 安装headers-more模块(如果使用源码编译):
./configure --add-module=/path/to/headers-more-nginx-module
  1. 在配置文件中添加:
more_clear_headers Server;

验证方法

使用curl命令验证:

curl -I http://your-server.com

正确的响应应该不显示Nginx版本号,只显示"Server: nginx"或你自定义的字符串。

注意事项

  • 修改后记得测试配置并重新加载Nginx
  • 对于生产环境,建议在修改前备份配置文件
  • 隐藏版本号只是安全措施的一部分,还应保持Nginx及时更新

以上方法可以根据你的具体需求和安全要求选择使用。