修改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依舊可以查到
 
[root@SyslogVM 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
 
 
[root@SyslogVM 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
[root@mail nginx-0.8.53]# vi src/core/nginx.h
 
2、修改第二個文件/src/http/ngx_http_header_filter_module.c,將末尾的nginx修改爲OWS
 
3、修改第三個文件/src/http/ngx_http_special_response.c
 
 
4、檢查語法重新啓動
nginx -t
nginx -s reload
 
5、校驗:輸入錯誤地址,看是否隱藏
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章