想要隐身,首先要了解使用软件的版本号,对于linux客户端,可经过命令检查nginx版本号,最简单的方法就是用curl命令:html
[root@web01 extra]# curl -I 10.0.0.8linux
HTTP/1.1 200 OKnginx
Server: nginx/1.10.2web
Date: Mon, 05 Jun 2017 13:28:29 GMT安全
Content-Type: text/htmlcurl
Content-Length: 612ide
Last-Modified: Tue, 04 Apr 2017 13:08:37 GMT优化
Connection: keep-aliveurl
ETag: "58e39ad5-264"spa
Accept-Ranges: bytes
以上虽然是不一样客户端,可是都得到了一些nginx软件名称,并且查到了nginx版本号,这就使得nginx web服务的安全存在必定的风险,所以必定要隐藏到这些敏感信息或者使用一种其它信息进行替代
在nginx配置文件nginx.conf配置文件中增长参数,实现隐藏版本号的方式以下
http
{
.........
Server_tokens off ;
..........
}
配置方法
能够开也能够关 server_tokens on|off
不配置该参数,软件默认的结果:server_tokens on
能够放置在http server location 标签下
配置后发现版本号已经消失
[root@web01 extra]# curl -I 10.0.0.8
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 05 Jun 2017 13:29:16 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 04 Apr 2017 13:08:37 GMT
Connection: keep-alive
ETag: "58e39ad5-264"
Accept-Ranges: bytes
故修改为功
隐藏了Nginx版本号以后,更进一步,能够经过一些手段把web服务软件名称也隐藏起来,或者更改成其它web软件名以迷惑***。可是开发商不但愿软件名隐藏起来,所以要改变nginx源代码。