1. 程式人生 > >Nginx 隱藏版本號和資訊

Nginx 隱藏版本號和資訊

檢視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