我可以通过将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获取更新的名称。但不是在浏览器中。
答案 0 :(得分:25)
如果您在ubuntu工作,那么
首先安装nginx-extras
sudo apt-get install nginx-extras
转到/etc/nginx/nginx.conf
并在http
下添加:
http {
more_set_headers "Server: Your_New_Server_Name";
server_tokens off;
}
重新启动nginx
sudo service nginx restart
答案 1 :(得分:10)
HttpHeadersMoreModule
- http://wiki.nginx.org/HttpHeadersMoreModule more_set_headers
指令更改它。重新加载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