Nginx優化---隱藏版本號與網頁緩存時間
配置Nginx隱藏版本號
在生產環境中,需要隱藏Nginx的版本號,以避免安全
漏洞的泄漏
查看方法
●使用fiddler I具在Windows客戶端查看Nginx版本號
在CentOS系統中使用“curl -I 網址”命令查看
Nginx隱藏版本號的方法
●修改配置文件法
●修改源碼法
修改配置文件法
1.Nginx的配置文件中的server_ tokens 選項的值設置為off
[root@www conf]# vim nginx.conf.....server_ tokens off;.....[root@www conf]# nginx -t
2.重啟服務,訪問網站使用curl -I命令檢測
[root@www conf]# service nginx restart[root@www conf]# curl -1 http://192.1 68.9.209/HTTP/1.1200 OKServer: nginx
3.若php配置文件中配置了fastcgi param SERVER SOFTWARE選項。則編輯php-fpm配置文件,將fastcgi param SERVER SOFTWARE對應的值修改為
fastcgi_ param SERVER_ SOFTWARE nginx ;
修改源碼法
Nginx源碼文件/usr/src/nginx-1.12.0/src/core/nginx.h包含了版本信息,可以隨意設置重新編譯安裝,隱藏版本信息
示例:
#define NGINX_ _VERSION“1.1.1” ,修改版本號為1.1.1#define NGINX_ VER "IIS/" ,修改軟件類型為IIS
重啟服務,訪問網站使用curl -I命令檢測
修改Nginx用戶與組
Nginx運行時進程需要有用戶與組的支持,以實現對網站文件讀取時進行訪問控制
Nginx默認使用nobody用戶賬號與組賬號,一般也要進行修改
修改的方法
●編譯安裝時指定用戶與組
●修改配置文件指定用戶與組
修改配置文件法指定
1.新建用戶賬號,如nginx
2.修改主配置文件user選項,指定用戶賬號
3.重啟nginx服務,使配置生效
4.使用ps aux命令查看nginx的進程信息,驗證運行用戶
賬號改變效果
[root@www conf]# vi nginx.confuser nginx nginx;[root@www conf]# service nginx restart[root@www conf]# ps aux lgrep nginxroot 1300340.0 0.0 20220 620? Ss 19:41 0:00 nginx: master process/usr/local/sbin/nginxnginx 1300350.0 0.0 20664 1512 ?S 19:41 0:00 nginx: worker process
配置Nginx網頁緩存時間
當Nginx將網頁數據返回給客戶端后,可設置緩存的時間,以方便在日后進行相同內容的請求時直接返回,避免重復請求,加快了訪問速度般針對靜態網頁設置,對動態網頁不設置緩存時間,可在Windows客戶端中使用fiddler查看網頁緩存時間
設置方法
可修改配置文件,在http段、 或者server段、 或者location段加入對特定內容的過期參數
示例
修改Nginx的配置文件,在location段加入expires參數
location ~ /.(gifjpgliepglpnglbmplico)$ {root html;expires 1d;
隱藏版本號實例演示
一、編譯安裝Nginx服務
第一步:遠程獲取Windows上的源碼包,并掛載到Linux上
[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA/root's password: Sharename Type Comment--------- ---- -------LNMP Disk [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP: [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip nginx-1.12.2.tar.gzgame.jpg php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz php-7.1.20.tar.gznginx-1.12.0.tar.gz
新聞熱點
疑難解答