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

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

方法二:通過(guò)源碼修改版本號(hào)
使用源碼包安裝nginx時(shí)候開(kāi)始
- 編輯 Nginx 源碼文件:
vim nginx-1.12.0/src/core/nginx.h
修改以下內(nèi)容:
#define NGINX_VERSION "1.1.1" # 修改版本號(hào) #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
測(cè)試步驟
- 使用
curl查看響應(yīng)頭:
curl -I http://<your-nginx-ip>/
預(yù)期輸出:
HTTP/1.1 200 OK Server: CustomServer1.1.1
說(shuō)明:Server 字段顯示自定義的服務(wù)器名稱和版本號(hào)。
沒(méi)有配置之前可以看到 版本好 瀏覽器后臺(tái)也是可以看到的

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

總結(jié)
折騰完之后,發(fā)現(xiàn)隱藏 Nginx 版本號(hào)其實(shí)并不復(fù)雜,尤其是通過(guò)配置文件的方法,簡(jiǎn)單又高效。如果你想進(jìn)一步定制服務(wù)器的響應(yīng)頭信息,也可以試試源碼修改,稍微麻煩點(diǎn),但也能玩出不一樣的效果。安全這事兒吧,防不住 100% 的風(fēng)險(xiǎn),但能減少一點(diǎn)隱患也是好的。
以上就是隱藏Nginx版本號(hào)的方法小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于隱藏Nginx版本號(hào)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
nginx實(shí)現(xiàn)重寫(xiě)功能和防盜鏈功能
這篇文章主要介紹了nginx實(shí)現(xiàn)重寫(xiě)功能和防盜鏈功能,Nginx服務(wù)器利用 ngx_http_rewrite_module 模塊解析和處理rewrite請(qǐng)求,防盜鏈基于客戶端攜帶的referer實(shí)現(xiàn),文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-06-06
nginx配置https加密訪問(wèn)的詳細(xì)教程
這篇文章主要介紹了nginx配置https加密訪問(wèn)的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
nginx配置ssl實(shí)現(xiàn)https訪問(wèn)(小白文)
安全起見(jiàn),需要將之前的http接口訪問(wèn)變成https訪問(wèn),所以需要配置SSL證書(shū),本文主要介紹了nginx配置ssl實(shí)現(xiàn)https訪問(wèn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Nginx簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Nginx是一個(gè)跨平臺(tái)的Web服務(wù)器,可運(yùn)行在Linux、FreeBSD、Solaris、AIX、Mac OS、Windows等操作系統(tǒng)上,并且它還可以使用當(dāng)前操作系統(tǒng)特有的一些高效API來(lái)提高自己的性能2017-08-08
NGINX阻止指定ip的請(qǐng)求問(wèn)題及解決方案
web頁(yè)面做了一個(gè)功能,在websocket請(qǐng)求失敗的情況,會(huì)定時(shí)向服務(wù)端進(jìn)行重試進(jìn)行建立連接,這篇文章給大家介紹NGINX阻止指定ip的請(qǐng)求問(wèn)題及解決方案,感興趣的朋友一起看看吧2024-02-02

