Nginx優化和防盜煉

2021-10-10 05:34:16 字數 3951 閱讀 2316

一.配置nginx隱藏版本號

1.隱藏nginx版本號,避免安全漏洞洩露

2.nginx隱藏版本號的方法

·修改配置檔案法

·修改原始碼法

二.修改配置檔案法

1.將nginx配置檔案中server_tokens選項的值為off

#vi nginx.conf

server_tokens off;關閉版本號

#nginx -t

2.重啟服務,訪問**使用crul -l命令檢測

#systemctl restart nginx

#curl -l

三.修改原始碼法

1.nginx原始碼檔案/usr/src/nginx-1.12.0/src/core/nginx.h包含版本資訊,可以隨意設定

2.重新編譯安裝,隱藏版本資訊

3.示例

·#define nginx_version 「1.1.1」,修改版本號為1.1.1

·define nginx_ver 「iis/」,修改軟體型別iis

4.重啟服務,訪問**使用curl -l命令檢測

四.修改nginx使用者與組

1.nginx執行時程序需要有使用者與組的支援,以實現對**檔案讀取時進行訪問控制

2.nginx預設使用nobody使用者賬號與組賬號

3.修改的方法

·編譯安裝時指定使用者與組

·修改配置檔案指定使用者與組

五.編譯安裝時指定

1.建立使用者賬號與組賬號,如nginx

2.編譯安裝時–user與–group指定nginx服務的執行使用者與組賬號

六.修改配置檔案法指定、

1.新建使用者賬號,如nginx

2.修改主配置檔案user選項,指定使用者賬號與組賬號

3.重啟nginx服務,使配置生效

4.使用ps aux命令檢視nginx的程序資訊,驗證執行使用者賬號改變效果

七.配置nginx網頁快取時間

1.當nginx將網頁資料返回給客戶端後,可設定快取的時間,以方便在日後進行相同內容的請求時直接返回,避免重複請求,加快了訪問速度

2.一般針對靜態網頁設定,對動態網頁不設定快取時間

3.設定方法

·修改配置檔案,在http段,或者server段,或者localtion段加入對特定內容的過期引數

4.示例

·修改nginx的配置檔案,在localtion段加入expires引數

八.實現nginx的日誌切割

1.隨著nginx執行時間增加,日誌也會增加。為了方便掌握nginx執行狀態,需要時刻關注nginx日誌檔案

2.太大的日誌檔案對監控是乙個大災難

·定期進行日誌檔案的切割

3.nginx自身不具備日誌分割處理的功能,但可以通過nginx訊號控制功能的指令碼實現日誌的自動切割

4.通過linux的計畫任務周期性地進行日誌切割

5.編寫指令碼進行日誌切割的思路

·設定時間變數

·設定儲存日誌路徑

·將目前的日誌檔案進行重新命名

·重建新日誌檔案

·刪除時間過長的日誌檔案

·設定cron任務,定期執行指令碼自動進行日誌切割

九.配置nginx實現連線超時

1.為避免同一客戶端長時間占用連線,造成資源浪費,可設定相應的連線超時引數,實現控制連線訪問時間

2.超時引數

·keepalive_timeout

①設定連線保持超時時間

·client_header_timeout

①指定等待客戶端傳送請求頭的超時時間

·clinet_body_timeout

①設定請求體讀超時時間

十.更改nginx執行程序數

1.在高併發場景,需要啟動更多的nginx程序以保證快速響應,以處理使用者的請求,避免造成阻塞

2.更改程序數的配置方法

·修改配置檔案,修改程序配置引數

3.修改配置檔案的worker_processes引數

·一般設為cpu的個數或者核數

·在高併發情況下可設定為cpu個數或者核數的2倍

4.增加程序數,可減少了系統的開銷,提公升了服務速度

5.使用ps aux檢視執行程序數的變化情況

6.預設情況,nginx的多個程序可能跑在乙個cpu上,可以分配不同的程序給不同的cpu處理,充分利用硬體多核多cpu

7.在一台4核物理伺服器,進行配置,將程序進行分配

十一.配置nginx實現網頁壓縮功能

1.nginx的ngx_http_gzip_module壓縮模組提供對檔案內容壓縮的功能

2.允許nginx伺服器將輸出內容在傳送客戶端之前進行壓縮,以節約**頻寬,提公升使用者的訪問體驗,預設已經安裝

3.可在配置檔案中加入相應的壓縮功能引數對壓縮效能進行優化

4.壓縮功能引數

·gzip on:開啟gzip壓縮輸出

·gzip_min_length 1k:設定允許壓縮的頁面最小位元組數

·gzip_buffers 4 16k;申請4個單位為16k的記憶體作為壓縮結果流快取,預設值是申請與原始資料大小相同的記憶體空間來儲存gzip壓縮結果

·gzip_http_version 1.0:設定識別http協議版本,預設是1.1,目前大部分瀏覽器已經支援gzip解壓,但處理較慢,也比較消耗伺服器cpu資源

·gzip_comp_level 2:指定gzip壓縮比,1壓縮比最小,處理速度快;9壓縮比最大,傳輸速度快,但處理速度最慢

·gzip_types text/plain:壓縮型別,對哪些網頁文件啟用壓縮功能

·gzip_vary on:讓前端快取伺服器快取經過gzip壓縮的頁面

5.將以上的壓縮功能引數加入到主配置檔案httpd配置中段

6.重啟服務,檢視網頁壓縮功能開啟結果

十二.配置nginx實現防盜煉

1.在企業**服務中,一般都要配置防盜煉功能,以避免**內容被非法盜用,造成經濟損失

2.nginx防盜煉功能也非常強大。預設情況下,只需要進行簡單的配置,即可實現防盜煉處理

3.示例

·使用兩台主機模擬防盜煉

ip位址

網域名稱用途

192.168.0.102

www.bt.com

源主機192.168.0.104

www.test.com

盜鏈主機

4.盜鏈模擬步驟

·兩台主機配置測試頁面

·編寫盜鏈**的測試網頁,盜用源主機目錄工作目錄的乙個logo.jpg檔案

·在windows中訪問www.test.com檢視盜鏈是否成功

5.配置nginx實現防盜煉

6.重啟服務,再次訪問,檢測防盜效果

7.配置說明

·~*.(jpg|gif|swf)$:匹配以.jpg或.gif或.swf結尾的不區分大小寫的檔案

·vaild_referers:設定信任**,即引用相應的**

·**或者網域名稱:referer中包含相關字串的**

·if語句:如果鏈結的**網域名稱不在valid_referers所列出的列表中,invalid_referer為1,則執行後面的操作,即進行重寫或返回403頁面

Nginx優化,壓縮和設定防盜煉

1.優化nginx 1.隱藏版本資訊的作用 1 隱藏版本資訊的作用 防止洩露版本號被黑客入侵 2 修改nginx源程式配置檔案 root centos01 vim usr local nginx conf nginx.conf 34 server tokens off 關閉版本號 2.配置偽裝版本 ...

Nginx優化與防盜煉相關配置

二 修改使用者與組 三 配置快取時間 四 日誌分割 五 連線超時 六 更改程序數 七 配置網頁壓縮 八 防盜煉 九 fpm引數優化 1 為何需要隱藏nginx版本號 在生產環境中,需要隱藏ngnx的版本號,以避免安全漏洞的洩漏 2 檢視nginx版本號的方法 使用fiddler工具在 windows...

Nginx優化 防盜煉 zfm55123

防盜煉演示 1 安裝配置dns網域名稱解析服務 root localhost yum install bind y root localhost vim etc named.conf options allow query root localhost vim etc named.rfc1912.z...