您好,登錄后才能下訂單哦!
內容要點:
隱藏版本號
網頁緩存
日志分割
隱藏版本號
兩種配置方法:
修改配置文件法
修改源碼法
一、修改配置文件法:
[root@localhost?init.d]#?curl?-I?http://192.168.13.140/???##查看Nginx信息 HTTP/1.1?200?OK Server:?nginx/1.12.2????##顯示版本號 Date:?Tue,?12?Nov?2019?14:23:24?GMT Content-Type:?text/htmlContent-Length:?612 Last-Modified:?Tue,?12?Nov?2019?13:46:35?GMT Connection:?keep-alive ETag:?"5dcab7bb-264"Accept-Ranges:?bytes [root@localhost?init.d]#?vim?/usr/local/nginx/conf/nginx.conf??##修改配置文件 http?{???????????##在http下添加 ????????include???????mime.types; ????????default_type??application/octet-stream; ????????server_tokens?off;????##關閉版本號 [root@localhost?init.d]#?service?nginx?stop??##關閉服務 [root@localhost?init.d]#?service?nginx?start??##開啟服務 [root@localhost?init.d]#?curl?-I?http://192.168.13.140/??##查看Nginx信息 HTTP/1.1?200?OK?????? Server:?nginx????????????##版本號被隱藏 Date:?Tue,?12?Nov?2019?14:22:00?GMT Content-Type:?text/html Content-Length:?612Last-Modified:?Tue,?12?Nov?2019?13:46:35? GMTConnection:?keep-alive ETag:?"5dcab7bb-264" Accept-Ranges:?bytes
使用curl -I 命令檢測,可以看到版本號
再次使用curl -I 進行查詢
二、偽造版本號(需重新編譯安裝,也可在編譯安裝之前操作)
[root@localhost?~]#?cd?/opt/nginx-1.12.1/src/core [root@localhost?core]#?vim?nginx.h???????????進入配置文件中修改你想展示的版本號 [root@localhost?core]#?cd?../../ [root@localhost?nginx-1.12.2]#?./configure?\????????????????然后進行重新編譯 >?--prefix=/usr/local/nginx?\ >?--user=nginx?\ >?--group=nginx?\ >?--with-http_stub_status_module
重啟nginx服務,查看版本信息
[root@localhost?nginx-1.12.2]#?service?nginx?stop??##關閉 [root@localhost?nginx-1.12.2]#?service?nginx?start??##開啟 [root@localhost?nginx-1.12.2]#?curl?-I?http://192.168.13.140/???##查看Nginx信息 HTTP/1.1?200?OK? Server:?nginx/1.1.1???????##此時的版本號就是偽造的版本號 Date:?Tue,?12?Nov?2019?14:34:02? GMTContent-Type:?text/htmlContent-Length:?612 Last-Modified:?Tue,?12?Nov?2019?13:46:35? GMTConnection:?keep-alive ETag:?"5dcab7bb-264" Accept-Ranges:?bytes
網頁緩存時間
當Nginx將網頁數據返回給客戶端后,可設置緩存時間,以方便在日后進行相同內容的請求時直接返回,避免重復請求,加快了訪問速度
一般針對靜態網頁設置 ,對動態網頁不設置緩存時間
可在Windows客戶端中使用fiddler查看網頁緩存時間
配置方法:
可修改配置文件,在http段,或者server段,或者location段加入對特定內容的過期參數
1、將測試圖片復制至nginx網頁站點目錄下
[root@localhost?mnt]#?cp?test.jpg?/usr/local/nginx/html/???##復制圖片到站點中 [root@localhost?mnt]#?cd?/usr/local/nginx/html/????##切換到站點下 [root@localhost?html]#?ls test.jpg??50x.html??index.ht
2、修改網頁信息,將測試圖片添加到index.html文件中
[root@localhost?html]#?vim?index.html??##修改網頁信息 </head> <body> <h2>Welcome?to?nginx!</h2> <img?src="test.jpg"/>??##加入圖片到網頁中
3、修改配置文件信息,添加緩存時間
[root@localhost?html]#?vim?/usr/local/nginx/conf/nginx.conf???##修改配置文件events?{ ????????worker_connections??1024; } ????????user?nginx?nginx;?????##修改Nginx用戶和組 ????#?deny?access?to?.htaccess?files,?if?Apache's?document?root ????#?concurs?with?nginx's?one ????# ????location?~\.(gif|jepg|jpg|ico|bmp|png)$?{?????##支持圖片格式 ????????root?html;?????##站點 ????????expires?1d;???##緩存一天 ????????} [root@localhost?html]#?service?nginx?stop???##關閉開啟服務[root@localhost?html]#?service?nginx?start
4、訪問網頁,使用fiddler查看緩存
nginx的日志分割
隨著Nginx運行時間增加,日志也會增加。為了方便掌握Nginx運行狀態,需要時刻關注日志文件
太大的日志文件對監控是一個大災難定期進行日志文件的切割
Nginx自身不具備日志分割處理的功能,但可以通過Nginx信號控制功能的腳本實現日志的自動切割,并通過Linux的計劃任務周期性的進行日志切割
1、編寫日志分割腳本文件
[root@localhost?~]#?vim?fenge.sh??##編寫腳本文件 #!/bin/bash #Filename:fenge.sh d=$(date?-d?"-1?day"?"+%Y%m%d")????????##顯示一天前的時間 logs_path="/var/log/nginx"??????????????????????##分割日志的保存路徑 pid_path="/usr/local/nginx/logs/nginx.pid"????##pid的路徑 [?-d?$logs_path?]?||?mkdir?-p?$logs_path??##沒有目錄則創建目錄 mv?/usr/local/nginx/logs/access.log?${logs_path}/test.com-access.log-$d ##原有日志文件生成到新路徑下 kill?-USR1?$(cat?$pid_path)??##結束重新生成新的pid文件 find?$logs_path?-mtime?+30?|?xargs?rm?-rf??##刪除30天前的日志文件 [root@localhost?~]#?chmod?+x?fenge.sh??##給執行權限 [root@localhost?~]#?./fenge.sh?????##執行腳本文件
2、查看日志分割情況
[root@localhost?~]#?cd?/var/log/nginx/???##切換到Nginx的日志目錄下 [root@localhost?nginx]#?lstest.com-access.log-20191112 [root@localhost?nginx]#?date?-s?2019-11-14??##修改日期為明天的時間 2019年?11月?14日?星期四?00:00:00?CST [root@localhost?nginx]#?cd?~ [root@localhost?~]#?./fenge.sh?????##重新執行腳本 [root@localhost?~]#?cd?/var/log/nginx/ [root@localhost?nginx]#?ls???????????##查看日志分割日志文件 test.com-access.log-20191112??test.com-access.log-20191113
3、設置周期性計劃任務,進行定期分割
[root@localhost?nginx]#?crontab?-e???##周期性計劃任務 0?1?*?*?*?/opt/fenge.sh
更多nginx優化狀態統計、訪問控制等,進我主頁查看
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。