Nginx服務優化以及防盜鏈

1. 隱藏版本號

以在 CentOS 中使用命令 curl -I http://192.168.66.10 顯示響應報文首部信息。

查看版本號

  • curl -I http://192.168.66.10

1. 修改配置文件

vim /usr/local/nginx/conf/nginx.conf
http {include       mime.types;default_type  application/octet-stream;server_tokens off;								#添加,關閉版本號......
}systemctl restart nginx
curl -I http://192.168.66.10

隱藏成功

2.?修改源碼文件,重新編譯安裝

vim /opt/nginx-1.12.0/src/core/nginx.h
#define NGINX_VERSION "1.1.1" 					#修改版本號
#define NGINX_VER "IIS" NGINX_VERSION 			#修改服務器類型cd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make installvim /usr/local/nginx/conf/nginx.conf
http {include       mime.types;default_type  application/octet-stream;server_tokens on;......
}systemctl restart nginx
curl -I http://192.168.66.10

2.?修改用戶與組

vim /usr/local/nginx/conf/nginx.conf
user nginx nginx; 								#取消注釋,修改用戶為 nginx ,組為 nginxsystemctl restart nginxps aux | grep nginx

3. 頁面緩存時間

當Nginx將網頁數據返回給客戶端后,可設置緩存的時間,以方便在日后進行相同內容的請求時直接返回,避免重復請求,加快了訪問速度,一般針對靜態網頁設置,對動態網頁不設置緩存時間

vim /usr/local/nginx/conf/nginx.conf
http {
......server {...... location / {root html;index index.html index.htm;}location ~ \.(gif|jpg|jepg|png|bmp|ico)$ { 		#加入新的 location,以圖片作為緩存對象root html;expires 1d;									#指定緩存時間,1天}
......}
}

設置主頁圖片

編輯主頁文件


[root@localhost html]# vim index.html -------------------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title></head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p><img src="111.jpg"/>

4.?日志切割

vim /opt/fenge.sh
#!/bin/bash
# Filename: fenge.sh
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 ${logs_path}/kgc.com-access.log-$day	#移動并重命名日志文件
kill -USR1 $(cat $pid_path)													#重建新日志文件
find $logs_path -mtime +30 -exec rm -rf {} \;								#刪除30天之前的日志文件
#find $logs_path -mtime +30 | xargs rm -rf chmod +x /opt/fenge.sh
/opt/fenge.sh
ls /var/log/nginx
ls /usr/local/nginx/logs/access.log crontab -e
0 1 * * * /opt/fenge.sh

5.?連接超時

HTTP有一個KeepAlive模式,它告訴web服務器在處理完一個請求后保持這個TCP連接的打開狀態。若接收到來自同一客戶端的其它請求,服務端會利用這個未被關閉的連接,而不需要再建立一個連接。
KeepAlive 在一段時間內保持打開狀態,它們會在這段時間內占用資源。占用過多就會影響性能。
?

vim /usr/local/nginx/conf/nginx.conf
http {
...... keepalive_timeout 60 60;keepalive_requests 10000;client_header_timeout 80;client_body_timeout 80;
...... 
}systemctl restart nginx

6.更改進程數

cat /proc/cpuinfo | grep -c "physical id"	#查看cpu核數
ps aux | grep nginx							#查看nginx主進程中包含幾個子進程vim /usr/local/nginx/conf/nginx.conf
worker_processes  2;				#修改為核數相同或者2倍
worker_cpu_affinity 01 10;			#設置每個進程由不同cpu處理,進程數配為4時0001 0010 0100 1000
#將每個worker子進程與特定CPU物理核心綁定,提升cpu利用率,進而提升性能。避免同一個worker子進程在不同的CPU核心上切換或者多個進程跑在一個CPU上,緩存失效,降低性能。systemctl restart nginx

7. 配置網頁壓縮

Nginx的ngx_http_gzip_module壓縮模塊提供對文件內容壓縮的功能
允許Nginx服務器將輸出內容在發送客戶端之前進行壓縮,以節約網站帶寬,提升用戶的訪問體驗,默認已經安裝
可在配置文件中加入相應的壓縮功能參數對壓縮性能進行優化
?

vim /usr/local/nginx/conf/nginx.conf
http {
...... gzip on;							#取消注釋,開啟gzip壓縮功能gzip_min_length 1k;      		#最小壓縮文件大小gzip_buffers 4 64k;      		#壓縮緩沖區,大小為4個64k緩沖區gzip_http_version 1.1;   		#壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)gzip_comp_level 6;       		#壓縮比率gzip_vary on;					#支持前端緩存服務器存儲壓縮頁面gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;		#壓縮類型,表示哪些網頁文檔啟用壓縮功能
...... 
}cd /usr/local/nginx/html
先將game.jpg文件傳到/usr/local/nginx/html目錄下
vim index.html
...... 
<img src="game.jpg"/>				#網頁中插入圖片
</body>
</html>systemctl restart nginx在Linux系統中,打開火狐瀏覽器,右擊點查看元素
選擇 網絡 ---> 選擇 HTML、WS、其他 
訪問 http://192.168.66.10 ,雙擊200響應消息查看響應頭中包含 Content-Encoding: gzip

8.?配置防盜鏈

Web源主機(192.168.60.10? www.my.com)

配置映射


[root@localhost ~]# vim /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.66.10 www.my.com
cd /usr/local/nginx/html
將game.jpg、error.png文件傳到/usr/local/nginx/html目錄下
vim index.html
...... 
<img src="game.jpg"/>
</body>
</html>echo "192.168.66.10 www.kgc.com" >> /etc/hosts 
echo "192.168.66.20 www.benet.com" >> /etc/hosts 
vim /usr/local/nginx/conf/nginx.conf
http {
......server {......location ~* \.(jpg|gif|swf)$ {   #因為自己的盜鏈圖片為png結尾所以此處不設置pngvalid_referers none blocked *.my.com my.com;if ( $invalid_referer ) {rewrite ^/ http://www.my.com/tu2.png;}}......}
}
~* \.(jpg|gif|swf)$ :這段正則表達式表示匹配不區分大小寫,以.jpg 或.gif 或.swf 結尾的文件;valid_referers :設置信任的網站,可以正常使用圖片;none:允許沒有http_refer的請求訪問資源(根據Referer的定義,它的作用是指示一個請求是從哪里鏈接過來的,如果直接在瀏覽器的地址欄中輸入一個資源的URL地址,那么這種請求是不會包含 Referer 字段的),如 http://www.my.com/tu.jpg
我們使用 http://www.my.com 訪問顯示的圖片,可以理解成 http://www.my.com/tu.jpg 這個請求是從 http://www.my.com 這個鏈接過來的。blocked:允許不是http://開頭的,不帶協議的請求訪問資源; *.my.com:只允許來自指定域名的請求訪問資源,如 http://www.my.comif語句:如果鏈接的來源域名不在valid_referers所列出的列表中,$invalid_referer為true,則執行后面的操作。

盜鏈網站主機(192.168.66.20 www.qyd.com)


[root@localhost ~]# yum install httpd -y  安裝apache服務
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# vim index.html
---------------------------------------------                                                                                                         
<html>
<body>
<h1>是誰在盜鏈</h1>
<img src="http://www.my.com/tu.jpg"/>  #圖片鏈接地址通過瀏覽器訪問http://www.my.com 所得圖片地址
</body>
</html>

設置域名映射


[root@localhost ~]# vim /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.66.10 www.my.com
192.168.66.20 www.qyd.com

使用盜鏈主機訪問網頁

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211268.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211268.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211268.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

京東數據運營(京東API接口):10月投影儀店鋪數據分析

鯨參謀監測的京東平臺10月份投影儀市場銷售數據已出爐&#xff01; 10月份&#xff0c;環同比來看&#xff0c;投影儀市場銷售均上漲。鯨參謀數據顯示&#xff0c;今年10月&#xff0c;京東平臺投影儀的銷量為16萬&#xff0c;環比增長約22%&#xff0c;同比增長約8%&#xff1…

鴻蒙應用開發ArkTS基礎組件的使用

語雀知識庫地址&#xff1a;語雀HarmonyOS知識庫 飛書知識庫地址&#xff1a;飛書HarmonyOS知識庫 本文示例代碼地址&#xff1a;Gitee 倉庫地址 嗨&#xff0c;各位好呀&#xff0c;我是小白 上一篇文章我為大家介紹了如何使用 ArkTS 開發鴻蒙應用&#xff0c;對 HarmonyOS 項…

大文件分割,合并------C++ ------fstream

將一個大文件(這里測試文件為5.2G)切分為指定大小的文件,然后在把分割后的文件拼接合并為分割前的源文件 #include <boost/timer.hpp> // 計時函數#include <filesystem> #include <fstream> #include <vector> // 分隔后文件夾的格式, 原文件名_chun…

探索開源游戲的樂趣與無限可能 | 開源專題 No.47

CleverRaven/Cataclysm-DDA Stars: 9.0k License: NOASSERTION Cataclysm&#xff1a;Dark Days Ahead 是一個回合制的生存游戲&#xff0c;設定在一個后啟示錄世界中。盡管有些人將其描述為 “僵尸游戲”&#xff0c;但 Cataclysm 遠不止于此。在這個殘酷、持久、程序生成的世…

【原創】【一類問題的通法】【真題+李6卷6+李4卷4(+李6卷5)分析】合同矩陣A B有PTAP=B,求可逆陣P的策略

【鋪墊】二次型做的變換與相應二次型矩陣的對應&#xff1a;二次型f&#xff08;x1&#xff0c;x2&#xff0c;x3&#xff09;xTAx&#xff0c;g&#xff08;y1&#xff0c;y2&#xff0c;y3&#xff09;yTBy ①若f在可逆變換xPy下化為g&#xff0c;即P為可逆陣&#xff0c;有P…

Unity 通過鍵盤鼠標控制物體移動、旋轉、縮放的方法

在Unity中&#xff0c;使用鍵盤ADWS鍵控制物體移動&#xff0c;通過鼠標左鍵控制物體旋轉&#xff0c;鼠標中鍵控制物體縮放是再常見不過的方法。 方法如下&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine;public class MoveCo…

數字系統設計(EDA)實驗報告【出租車計價器】

一、問題描述 題目九&#xff1a;出租車計價器設計&#xff08;平臺實現&#xff09;★★ 完成簡易出租車計價器設計&#xff0c;選做停車等待計價功能。 1、基本功能&#xff1a; &#xff08;1&#xff09;起步8元/3km&#xff0c;此后2元/km&#xff1b; &#xff08;2…

紅隊攻防實戰之ThinkPHP-RCE集錦

你若不勇敢&#xff0c;誰又可以替你堅強&#xff1f; ThinkPHP 2.x RCE漏洞 1、查詢phpinfo() 2、任意代碼執行 3、Getshell 蟻劍連接&#xff1a; ThinkPHP5 5.0.23 RCE漏洞 發送數據包&#xff1a; 成功執行id命令&#xff1a; 工具驗證 ThinkPHP5 SQL注入漏洞 &&am…

什么是神經網絡的非線性

大家好啊&#xff0c;我是董董燦。 最近在寫《計算機視覺入門與調優》&#xff08;右鍵&#xff0c;在新窗口中打開鏈接&#xff09;的小冊&#xff0c;其中一部分說到激活函數的時候&#xff0c;談到了神經網絡的非線性問題。 今天就一起來看看&#xff0c;為什么神經網絡需…

cuda函數的前綴作用

文章目錄 cuda函數的前綴作用1、前綴作用2、global3、device4、host cuda函數的前綴作用 1、前綴作用 函數執行環境標識符&#xff0c;即表明函數在哪里被調用 2、global __global__修飾的函數是核函數&#xff0c;這些函數在GPU上執行&#xff0c;但是需要在CPU上調用。 g…

激光打標機在智能手表上的應用:科技與時尚的完美結合

隨著科技的飛速發展&#xff0c;智能手表已經成為我們日常生活中不可或缺的智能設備。而在智能手表制造中&#xff0c;激光打標機扮演著至關重要的角色。本文將詳細介紹激光打標機在智能手表制造中的應用&#xff0c;以及其帶來的優勢和影響。 ? 一、激光打標機在智能手表制…

按訂單周期結算的產品成本

原文地址&#xff1a;Product Cost By Order Cycle | SAP Blogs 產品成本核算是每個制造企業的控制部門的核心職責之一&#xff0c;根據其產品和生產的性質&#xff0c;每個企業的成本核算有所不同。它支持組織在其他職能領域做出大量戰略決策。在過去幾年中獲得了 SAP 產品成本…

Vite4、Vue3、Axios 針對請求模塊化封裝搭配自動化導入(簡單易用)

針對請求模塊化封裝搭配自動化導入&#xff08;簡單易用&#xff09; 目標目錄目標代碼前提步入正題src / utils / index.jssrc /api / index.jssrc /api / request.jssrc /api / service.jssrc /api / utils.jssrc /api / modules / demo.js 自動化配置vite.config.jseslint 校…

QEMU環境調試方法

本文從調試的角度出發&#xff0c;分享QEMU調試過程中的常見調試方法。 1.如何查看makefile構建過程執行的命令&#xff1f; 為了深入理解ucore操作系統實驗的編譯鏈接細節&#xff0c;需要知道makefile在執行的過程中一步一步的指令執行情況。然而大部分的工程中&#xff0c;…

CopyClip 2:提升Mac開發效率的利器

在Mac開發的日常工作中&#xff0c;高效地處理剪貼板內容是一個至關重要的任務。幸運的是&#xff0c;有一款強大的工具可以極大地提升你的開發效率——CopyClip 2。本文將介紹CopyClip 2的功能和優勢&#xff0c;以及它是如何成為Mac開發者們不可或缺的利器的。 CopyClip 2 簡…

【Docker】進階之路:(二)Docker簡介

【Docker】進階之路&#xff1a;&#xff08;二&#xff09;Docker簡介 什么是 DockerDocker 由來與發展歷程Docker的架構與組成Docker容器生態容器核心技術容器規范容器平臺技術 為什么使用DockerDocker的應用場景 什么是 Docker 簡單地講&#xff0c;Docker就是一個應用容器…

正則表達式(9):擴展正則表達式

正則表達式&#xff08;9&#xff09;&#xff1a;擴展正則表達式 小結 本博文轉載自 前文中一直在說&#xff0c;在Linux中&#xff0c;正則表達式可以分為”基本正則表達式”和”擴展正則表達式”。 我們已經認識了”基本正則表達式”&#xff0c;現在&#xff0c;我們來認…

T天池SQL訓練營(五)-窗口函數等

–天池龍珠計劃SQL訓練營 5.1窗口函數 5.1.1窗口函數概念及基本的使用方法 窗口函數也稱為OLAP函數。OLAP 是OnLine AnalyticalProcessing 的簡稱&#xff0c;意思是對數據庫數據進行實時分析處理。 為了便于理解&#xff0c;稱之為窗口函數。常規的SELECT語句都是對整張表進…

Unity由“鼠標點不準物體”引發的Camera的相關思考

問題 前段一個同事在使用Unity開發時遇到一個奇怪的問題&#xff0c;使用左鍵點擊發射射線的方式選擇物體&#xff0c;總是選不準&#xff0c;尤其是小的物體&#xff0c;鼠標點擊到物體上&#xff0c;有時能選上&#xff0c;有時選不上&#xff0c;偶爾點擊到物體旁邊…

Tensorflow.js 入門學習指南

Tensorflow.js 入門學習指南 官方地址TensorFlow.js (google.cn) Tensorflowjs是一個機器學習框架&#xff0c;使用 TensorFlowJS 可以創建生產級機器學習模型 安裝包 瀏覽器設置 您可以通過兩種主要方式在瀏覽器項目中獲取 TensorFlow.js&#xff1a; 使用腳本代碼。從 NPM…