Nginx優化與防盜煉相關配置

2021-10-17 14:25:02 字數 3318 閱讀 2684

二、修改使用者與組

三、配置快取時間

四、日誌分割

五、連線超時

六、更改程序數

七、配置網頁壓縮

八、防盜煉

九、fpm引數優化

(1)為何需要隱藏nginx版本號:在生產環境中,需要隱藏ngnx的版本號,以避免安全漏洞的洩漏

(2)檢視nginx版本號的方法:

使用fiddler工具在 windows客戶端檢視 nginx版本號

在 centos系統中使用「curl -i **」命令檢視nginx版本號

(3)nginx隱藏版本號的方法:修改配置檔案法、修改原始碼法

方法一:

nginx的配置檔案中的 server_tokens選項的值設定為off

curl -i ##檢視版本號方法二:

修改原始碼檔案,重新編譯安裝

vim /opt/nginx-1.12.0/src/core/nginx.h

#define nginx_version 1012000

#define nginx_version "1.0.0" #將原始的1.12.0修改為1.0.0

#define nginx_ver "iis" nginx_version #將原始的nginx修改為iis

#重新編譯安裝

#將方法一中關閉的版本號重新開啟

cd /usr/local/nginx/html/ #需要新增張在nginx首頁中

使用瀏覽器直接訪問chuishi.jpg

day=$(date -d "-1 day" "+%y%m%d") #顯示前一天時間

logs_path="/var/log/nginx"

pid_path="/usr/local/nginx/logs/nginx.pid"

[ -d $logs_path ] || mkdir -p $logs_path #建立日誌檔案目錄

mv /usr/local/nginx/logs/access.log $/yy.com-access.log-$day #移動並重命名日誌檔案

kill -usr1 $(cat $pid_path) #重建新日誌檔案

find $logs_path -mtime +30 | xargs rm -rf #刪除30天之前的日誌檔案

chmod +x /opt/fengge.sh

/opt/fengge.sh

ls /var/log/nginx/

ls /usr/local/nginx/logs/access.log

crontab -e #設定定時任務進行日誌的分割收集

0 1 * * * /opt/fengge.sh

注:在linux作業系統中,每個檔案都有很多的時間引數,其中有三個比較主要,分別是ctime, atime,mtime

1、ctime (status time):

當修改檔案的許可權或者屬性的時候,就會更新這個時間, ctime並不是create time,更像是change time,只有當更新檔案的屬性或者許可權的時候才會更新這個時間,但是更改內容的話是不會更新這個時間。

2、atime (accesstime):

當使用這個檔案的時候就會更新這個時間。

3、mtime (modification time):

當修改檔案的內容資料的時候,就會更新這個時間,而更改許可權或者屬性,mtime不會改變,這就是和ctime的區別。

http有乙個keepalive模式,它告訴web伺服器在處理完乙個請求後保持這個tcp連線的開啟狀態。若接收到來自客戶端的其它請求,服務端會利用這個未被關閉的連線,而不需要再建立乙個連線。

keepalive在一段時間內保持開啟狀態,它們會在這段時間內占用資源。占用過多就會影響效能。

~* \. (jpglgiflswf)s :這段正規表示式表示匹配不區分大小寫,以.jpg或.gif或.swf結尾的檔案;

vim /usr/local/php/etc/php-fpm.conf

pid = run/php-fpm.pid

vim /usr/local/php/etc/php-fpm.d/www.conf

-----96行------

pm = dynamic #fpm程序啟動方式,動態的

-----107行-----

pm.max children = 20 #fpm程序啟動的最大程序數-

------112-------

pm.start_servers = 5 #動態方式下啟動時預設開啟的程序數,在最小和最大之間

------117行-------

pm.min_spare_servers = 2 #動態方式下最小空閒程序數

------122行-------

pm.max_spare_servers = 8 #動態方式下最大空閒程序數

kill -usr2 `cat /usr/local/php/var/run/php-fpm.pid` #重啟php-fpm

netstat -anpt | grep 9000

nginx 防盜煉配置

語法 配置段只在server location中出現 valid referers 該指令後面可以接 none blocked serevr names string或者是正則 none 表示沒有referer blocked 代表有referer但是被防火牆或 取消了 string或者正在表示式 ...

nginx 防盜煉配置

防盜煉分為兩種 一種是url防盜煉,一種是模組防盜煉 1 url配置 2 模組配置 location download其中 accesskey為模組開關 accesskey hashmethod為加密方式md5或者sha 1 accesskey arg為url中的關鍵字引數 accesskey si...

nginx配置防盜煉

是在自己的介面展示不在自己伺服器上的內容,通過技術手段獲得他人伺服器的資源位址,在自己頁面向使用者提供此內容,從而減輕自己伺服器的負擔,因為真實的空間和流量來自別人的伺服器。區別哪些請求時非正常使用者請求 貼上配置檔案吧 具體說一下配置的含義。valid referers none blocked ...