隱藏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)了可以自定義版本信息的方法,感覺挺有意思,就記錄下來(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)已被隱藏。
沒有配置之前可以看到 版本好 瀏覽器后臺(tái)也是可以看到的

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

方法二:通過(guò)源碼修改版本號(hào)
使用源碼包安裝nginx時(shí)候開始
- 編輯 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)。
沒有配置之前可以看到 版本好 瀏覽器后臺(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)跨域使用字體文件的配置詳解
這篇文章主要給大家介紹了關(guān)于Nginx實(shí)現(xiàn)跨域使用字體文件的配置方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn)
這篇文章主要介紹了淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Nginx配置文件中l(wèi)ocation配置的多種場(chǎng)景
location主要做定位功能,根據(jù)uri來(lái)進(jìn)行不同的定位,下面這篇文章主要給大家介紹了關(guān)于Nginx配置文件中l(wèi)ocation配置的多種場(chǎng)景,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
Nginx方向代理wss或ws的實(shí)現(xiàn)示例
本文主要介紹了Nginx方向代理wss或ws的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10
Nginx配置負(fù)載均衡時(shí)訪問(wèn)地址無(wú)法生效的解決方法
本文主要介紹了Nginx配置負(fù)載均衡時(shí)訪問(wèn)地址無(wú)法生效的解決方法,例如負(fù)載均衡策略的設(shè)置是否正確、是否存在拼寫錯(cuò)誤等,下面就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下2023-09-09

