隱藏Nginx標(biāo)識與版本號
前言
為什么要隱藏nginx標(biāo)識與版本號?因為nginx默認(rèn)配置存在安全漏洞。如下圖:

目錄
1、隱藏版本號
2、隱藏Nginx標(biāo)識--修改源碼
3、重新編譯安裝后即可
1、隱藏版本號
curl Nginx服務(wù)器時,有這么一行Server: nginx,說明我用的是 Nginx 服務(wù)器,但并沒有具體的版本號。由于某些 Nginx 漏洞只存在于特定的版本,隱藏版本號可以提高安全性。這只需要在nginx.conf配置里加上這個就可以了:
編輯server模塊在server_name下面怎么如下配置:
server_tokens off;
eg:

2、隱藏Nginx標(biāo)識--修改源碼
下載Nginx源碼 http://nginx.org/download/nginx-1.19.2.tar.gz
下載不同版本的nginx模板
http://nginx.org/download/nginx-填寫版本號.tar.gz
下載后存放位置:
[圖片上傳失敗...(image-8211aa-1614592774731)]
2.1第一步:修改 core包下的nginx.h文件**
vim src/core/nginx.h +14
#define NGINX_VER "happy/" NGINX_VERSION
修改前:

修改后:
[root@glxxh src]# vim core/nginx.h

2.2第二步:修改src/http包下文件
修改文件:
1.ngx_http_special_response.c
2.ngx_http_header_filter_module.c
2.2.1修改gx_http_special_response.c
# vim src/http/ngx_http_special_response.c +22 +29 和 +36 (注意修改后無引號,NGINX_VER為變量)
修改前:

修改后

"
<center>happy</center>" CRLF
2.2.2修改ngx_http_header_filter_module.c:
# vim src/http/ngx_http_header_filter_module.c +49
修改為:

static char ngx_http_server_string[] = "Server: happy" CRLF;
3、重新編譯安裝后即可
3.1第一步:先備份
先備份/usr/local/nginx/sbin下的啟動文件
再備份/usr/local/nginx/conf/下的nginx.conf文件
3.2第二步:編譯nginx源碼

進(jìn)入nginx目錄進(jìn)行編譯操作
cd nginx-1.13.7
[root@localhost nginx-1.13.7]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.13.7]# make
3.3第三步:更換啟動文件nginx(非常重要的一步):
1.先停掉nginx服務(wù)器:
2.備份/usr/local/nginx/sbin/nginx文件
3.替換啟動文件:將編譯好的/u sr/local/nginx-1.13.7/objs/nginx 拷貝到/usr/local/nginx/sbin/下
4.啟動nginx
[root@localhost sbin]# ./nginx -V
4、curl -I localhost

5、訪問驗證
修改前:

修改后:

6.修改默認(rèn)配置
/usr/local/nginx/html下面的靜態(tài)頁面要修改不要出現(xiàn)nginx的字樣。

如果遇到這方面的問題,沒有處理好,請留言,如果有寫的不對的地方請指正。