Nginx 隱藏版本號和資訊
阿新 • • 發佈:2018-12-19
檢視http請求的response裡面的header我們會發現有server這個引數,它表示服務端使用的是什麼web伺服器。
例如
新浪網:
Server:nginx
開源中國:
Server:Tengine
segmentfault甚至都沒有返回server!
Nginx預設是顯示版本號的。這樣就給人家看到你的伺服器nginx的真實版本號,前些時間暴出了一些Nginx版本漏洞,就是說有些版本有漏洞,而有些版本沒有。這樣暴露出來的版本號就容易變成攻擊者可利用的資訊。所以,從安全的角度來說,隱藏版本號會相對安全些!
[[email protected] ~]# curl -i 192.168.4.5
HTTP/1.1 200 OK
Server: nginx/1.12.2
那nginx版本號可以隱藏不?其實可以的,看下面的步驟(nginx + php)
1 進入nginx配置檔案的目錄(此目錄根據安裝時決定)nginx.conf,用vim編輯開啟。
[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf http { include mime.types; default_type application/octet-stream; server_tokens off; #### 在http節點下加入server_tokens off;即可
2 編輯php-fpm配置檔案fastcgi.conf 和 fastcgi_params.
在沒有修改之前的欄位內容:fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
[[email protected] ~]# vim /usr/local/nginx/conf/fastcgi.conf fastcgi_param SERVER_SOFTWARE nginx; [[email protected] ~]# vim /usr/local/nginx/conf/fastcgi_param fastcgi_param SERVER_SOFTWARE nginx;
3 重新載入nginx配置:
[[email protected] ~]# nginx -s reload
4 再次測試能夠發現版本號對外已經完全隱藏了
[[email protected] ~]# curl -i 192.168.4.5
HTTP/1.1 200 OK
Server: nginx