隱藏Nginx版本號的方法小結(jié)
引言
最近在折騰 Nginx 的時(shí)候,突然意識到一個(gè)問題:默認(rèn)情況下,Nginx 會在響應(yīng)頭里暴露版本號信息,這無疑給潛在的攻擊者提供了便利。畢竟,知道了版本號,就可以針對性地尋找漏洞進(jìn)行攻擊。為了讓自己的服務(wù)器更安全,我決定研究一下如何隱藏 Nginx 的版本號,順便還發(fā)現(xiàn)了可以自定義版本信息的方法,感覺挺有意思,就記錄下來分享給大家。
以下測試我基于源碼包安裝的nginx
1. 隱藏 Nginx 版本號
目的
隱藏 Nginx 的版本號,避免泄露版本信息,從而減少針對特定版本的攻擊風(fēng)險(xiǎn)。
操作步驟
方法一:通過配置文件隱藏版本號
- 編輯 Nginx 主配置文件:
cd /usr/local/nginx/conf/ vim nginx.conf
在 http 塊中添加以下內(nèi)容:
nginx
http {
...
server_tokens off; # 關(guān)閉版本號顯示
...
}
- 測試配置文件語法是否正確:
nginx -t
預(yù)期輸出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 重啟 Nginx 服務(wù):
systemctl restart nginx
測試步驟
- 使用
curl查看響應(yīng)頭:
curl -I http://<your-nginx-ip>/
預(yù)期輸出:
HTTP/1.1 200 OK Server: nginx
說明:Server 字段只顯示 nginx,版本號已被隱藏。
沒有配置之前可以看到 版本好 瀏覽器后臺也是可以看到的

配置之后就隱藏了版本的信息

方法二:通過源碼修改版本號
使用源碼包安裝nginx時(shí)候開始
- 編輯 Nginx 源碼文件:
vim nginx-1.12.0/src/core/nginx.h
修改以下內(nèi)容:
#define NGINX_VERSION "1.1.1" # 修改版本號 #define NGINX_VER "CustomServer" NGINX_VERSION # 修改服務(wù)器類型
- 重新編譯并安裝 Nginx:
cd nginx-1.12.0/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module make && make install
測試步驟
- 使用
curl查看響應(yīng)頭:
curl -I http://<your-nginx-ip>/
預(yù)期輸出:
HTTP/1.1 200 OK Server: CustomServer1.1.1
說明:Server 字段顯示自定義的服務(wù)器名稱和版本號。
沒有配置之前可以看到 版本好 瀏覽器后臺也是可以看到的

配置之后就隱藏了版本的信息

總結(jié)
折騰完之后,發(fā)現(xiàn)隱藏 Nginx 版本號其實(shí)并不復(fù)雜,尤其是通過配置文件的方法,簡單又高效。如果你想進(jìn)一步定制服務(wù)器的響應(yīng)頭信息,也可以試試源碼修改,稍微麻煩點(diǎn),但也能玩出不一樣的效果。安全這事兒吧,防不住 100% 的風(fēng)險(xiǎn),但能減少一點(diǎn)隱患也是好的。
以上就是隱藏Nginx版本號的方法小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于隱藏Nginx版本號的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
nginx配置ssl實(shí)現(xiàn)https訪問(小白文)
安全起見,需要將之前的http接口訪問變成https訪問,所以需要配置SSL證書,本文主要介紹了nginx配置ssl實(shí)現(xiàn)https訪問,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Nginx簡介_動力節(jié)點(diǎn)Java學(xué)院整理
Nginx是一個(gè)跨平臺的Web服務(wù)器,可運(yùn)行在Linux、FreeBSD、Solaris、AIX、Mac OS、Windows等操作系統(tǒng)上,并且它還可以使用當(dāng)前操作系統(tǒng)特有的一些高效API來提高自己的性能2017-08-08

