天天看点

修改or隐藏nginx版本号

参考:

https://www.cnblogs.com/lsdb/p/6894665.html Nginx隐藏版本号操作

https://jingyan.baidu.com/article/1709ad805b074c4635c4f041.html 如何更改nginx的源码以及版本号

https://blog.csdn.net/leiwuhen92/article/details/104405674 查看nginx版本号的几种方法

一、为什么要隐藏nginx版本号:

     Nginx默认显示版 本 号,但这样人家能看到你的服务器nginx的真实版本号,而这个暴露出的版本号很易变成攻击者可利用的信息。所以,从安全的角度来说, 隐藏版本号会相对安全些!  

二、隐藏nginx版本号的方法:

1、在nginx.conf配置文件中的http模块中国添加“ server_tokens off;”
2、编辑配置文件fastcgi.conf 和 fastcgi_params   此法尝试没成功
           

2.1、修改nginx.conf:

修改内容: http {     include       /etc/nginx/mime.types;     default_type  application/octet-stream;        server_tokens off;       log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       '$status $body_bytes_sent "$http_referer" '                       '"$http_user_agent" "$http_x_forwarded_for"';
结果 : curl查不到nginx的版本号,postman请求看不到nginx版本号,但使用nginx -v依旧可以查到   [[email protected] nginx]# curl -i 127.0.0.1 HTTP/1.1 200 OK Server: nginx      #nginx版本号被隐藏了 Date: Thu, 20 Feb 2020 02:19:35 GMT Content-Type: text/html     [[email protected] nginx]# nginx -v nginx version: nginx/1.16.1

2.2、编辑配置文件fastcgi.conf 和 fastcgi_params:

修改内容: fastcgi_param  SERVER_SOFTWARE     nginx/$nginx_version ;   结果 :没生效

三、修改nginx版本号

    修改nginx版本号需要在配置安装nginx之前进行。下载完成nginx并解压后,首先要 对源码进行修改,源码文件都在二级目录“nginx-0.8.53/src/”下,找到如下文件“src/core/nginx.h”,然后再对它进行修改。   1、修改第一个文件src/core/nginx.h

[[email protected] nginx-0.8.53]# vi src/core/nginx.h  

2、修改第二个文件/src/http/ngx_http_header_filter_module.c,将末尾的nginx修改为OWS

修改or隐藏nginx版本号
3、修改第三个文件/src/http/ngx_http_special_response.c  
修改or隐藏nginx版本号

  4、检查语法重新启动

nginx -t nginx -s reload

  5、校验:输入错误地址,看是否隐藏  

修改or隐藏nginx版本号

继续阅读