Nginx 隐藏版本号和信息

查看http请求的response里面的header我们会发现有server这个参数,它表示服务端使用的是什么web服务器。

例如

   新浪网:

Server:nginx

  开源中国:

Server:Tengine

segmentfault甚至都没有返回server!

        Nginx默认是显示版本号的。这样就给人家看到你的服务器nginx的真实版本号,前些时间暴出了一些Nginx版本漏洞,就是说有些版本有漏洞,而有些版本没有。这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!

[root@proxy ~]# curl -i 192.168.4.5
HTTP/1.1 200 OK
Server: nginx/1.12.2

        那nginx版本号可以隐藏不?其实可以的,看下面的步骤(nginx + php)

1 进入nginx配置文件的目录(此目录根据安装时决定)nginx.conf,用vim编辑打开。

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;

    server_tokens off;
    #### 在http节点下加入server_tokens off;即可

2 编辑php-fpm配置文件fastcgi.conf 和 fastcgi_params. 

  在没有修改之前的字段内容:fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;   

[root@proxy ~]# vim /usr/local/nginx/conf/fastcgi.conf
fastcgi_param  SERVER_SOFTWARE    nginx;

[root@proxy ~]# vim /usr/local/nginx/conf/fastcgi_param
fastcgi_param  SERVER_SOFTWARE    nginx;

3 重新加载nginx配置:

[root@proxy ~]# nginx -s reload

4 再次测试能够发现版本号对外已经完全隐藏了

[root@proxy ~]# curl -i 192.168.4.5
HTTP/1.1 200 OK
Server: nginx

 

你可能感兴趣的:(linux,基础)