如何更改(隐藏)Nginx服务器签名?

时间:2014-07-06 10:39:21

标签: linux nginx centos

我可以通过将server_tokens选项设置为off来隐藏Nginx版本。但无法更改Nginx Server签名。

我做的步骤,

1。)将源文件(src / http / ngx_http_header_filter_module.c)中的Nginx服务器名称更改为"我-服务器&#34 ;.之后,编译了nginx。但是当我加载网址时它无法正常工作。奇怪的是,当我使用curl命令时,我可以看到更新的Signature。但是这在浏览器中没有更新。

2.)所以我尝试了第三方模块(headers-more-nginx-module)。这太不行了。通过Curl获取更新的名称。但不是在浏览器中。

5 个答案:

答案 0 :(得分:25)

如果您在ubuntu工作,那么

  1. 首先安装nginx-extras

    sudo apt-get install nginx-extras
    
  2. 转到/etc/nginx/nginx.conf并在http下添加:

    http {
        more_set_headers "Server: Your_New_Server_Name";
        server_tokens off; 
    }
    
  3. 重新启动nginx

    sudo service nginx restart
    

答案 1 :(得分:10)

  1. 安装HttpHeadersMoreModule - http://wiki.nginx.org/HttpHeadersMoreModule
  2. 使用more_set_headers指令更改它。
  3. 重新加载Nginx才能生效。

    隐藏nginx版本信息。

    server_tokens off;

    更改服务器名称。

    more_set_headers"服务器:MyServerName";

答案 2 :(得分:7)

转到nginx conf并关闭server_tokens。

/etc/nginx/nginx.conf

server_tokens off;

答案 3 :(得分:0)

如果使用ModSecurity v2.0 - v2.9,则可以在.conf文件中使用

SecServerSignature SomeName

ModSecurity v3 SecServerSignature已被弃用,但我不知道他们是否用其他内容替换了它。

答案 4 :(得分:0)

您可以在Nginx配置中使用它。

null