nginx設置圖片防盜鏈


如果服務器的圖片被別的網站盜鏈,將影響服務器的帶寬以及訪問速度,這時我們就需要設置圖片文件或視頻文件的防盜鏈功能;


防盜鏈功能,簡單來說就是你可以直接訪問該資源,但是不能將我的資源鏈接放到你自己的服務器上讓別人訪問,尤其是圖片或視頻這種比較大的文件,容易導致服務器響應很慢。

好,以下是一些配置:


首先是工作的服務器,IP地址爲:192.168.1.199,上面有一個圖片文件爲 /images/button.png, 這裏的服務器用IP訪問,實際中肯定是以域名訪問纔對的。

這裏有兩臺測試服務器,一臺是windows系統的apache服務器,IP地址是192.168.1.30,一臺是linux系統的nginx服務器,域名是:shiyifei.nethospital_admin.neibu


首先寫一個測試腳本 referImg.html,內容如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>測試防盜鏈功能</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
<body>
    <img src="http://192.168.1.199/images/button.png" />
</body>
</html>

分別將該文件放在192.168.1.30以及shiyifei.nethospital_admin.neibu的根目錄下,

然後在192.168.1.30電腦上分別訪問 http://192.168.1.199/images/button.png   http://127.0.0.1:6000/referImg.html   http://shiyifei.nethospital_admin.neibu


我們發現圖片都是可以訪問到的。 192.168.1.30上是wamp環境,端口6000,因此可以直接用127.0.0.1:6000來請求。


然後我們在192.168.1.199服務器上設置nginx防盜鏈,設置如下:



配置節點是在 http->server下


配置成功以後,我們檢查一下配置文件是否有效

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/etc/nginx.conf
nginx: the configuration file /usr/local/nginx/etc/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/etc/nginx.conf test is successful

配置文件有效,然後重新加載一下配置文件

/etc/init.d/nginx reload

然後再分別訪問一下上面的三個地址:

具體網站響應如下圖所示:

直接訪問ok


在白名單的服務器上訪問也是ok的





我們可以看到,在shiyifei.nethospital_admin.neibu這個服務器上訪問時是允許的,這是因爲我們將shiyifei.nethospital_admin.neibu加入了白名單;

而在192.168.1.30本機的apache服務器上訪問時,卻返回了403錯誤,因爲沒有將192.168.1.30設置爲白名單。


發佈了101 篇原創文章 · 獲贊 27 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章