nginx如何實現配置靜態(tài)資源服務器及防盜鏈
首先我們聊聊什么是圖片盜鏈?
盜鏈指的是其他網站不經過你的許可直接通過鏈接使用你網站上的資源,從而消耗你的帶寬和資源,這不僅會影響你網站的性能,還有可能會導致資源被濫用。
簡單來說,直接從你的網站上右鍵復制鏈接,粘貼到他自己的網站使用,實際請求的是你的服務器。
之前我們分享過服務端實現靜態(tài)資源防盜鏈的方式,前置文章:其實,圖片防盜鏈的實現如此簡單
在文章結尾我們也留了一種方案,就是使用nginx實現防盜鏈,服務端方案適合小型且并發(fā)不高的網站、性能一般,而Nginx專門為性能優(yōu)化而開發(fā),性能是最重要的考量,非常注重效率,Nginx能夠支持高達50000個并發(fā)連接響應數。
今天我們就來說說nginx如何實現配置靜態(tài)資源服務器及防盜鏈實現
nginx配置靜態(tài)資源服務器及防盜鏈
首先準備一張防盜鏈提示圖片(來源于百度)

盜鏈提示圖片
言歸正傳
1、在nginx安裝目錄的html下創(chuàng)建res目錄
將上述圖片上傳至此,可以直接訪問到,將此圖片作為盜鏈提示

2、配置靜態(tài)資源服務器
小白的圖片資源存放于服務器的/root/cxs-sys-currency-upload/upload/images目錄下
server {
# 監(jiān)聽端口及其他配置項......
# 靜態(tài)資源服務配置
location /server/upload/ {
alias /root/cxs-sys-currency-upload/upload/images/;
valid_referers none *.cxs.plus cxs.plus;
if ( $invalid_referer ) {
# 如不滿足,指定訪問如下資源
rewrite ^/ https://www.cxs.plus/res/1.jpg;
return 403;
}
}
# 其他配置項......
}語法說明
valid_referers none | blocked | server_names | strings ….;
--none:允許沒有http_refer的請求訪問資源,檢測 Referer 頭域不存在的情況,則可以訪問。
--blocked:檢測 Referer 頭域的值被防火墻或者代理服務器刪除或偽裝的情況。
--server_names :只允許指定ip/域名來的請求訪問資源(白名單)。可設置一個或多個 URL ,檢測 Referer 頭域的值是否是這些 URL 中的某一個。在生產環(huán)境中盡量使用域名,不使用ip。
3、重新啟動nginx后,使用postman進行測試
添加Referer為www.cxs.plus測試,可以訪問

使用其他域名測試,返回盜鏈提示圖片

結語
以上就是Nginx實現靜態(tài)資源防盜鏈的方案,快去給你的系統(tǒng)加上吧!
更多關于Nginx配置靜態(tài)資源防盜鏈 的資料請關注腳本之家其它相關文章!
相關文章
詳解Linux環(huán)境下使Nginx服務器支持中文url的配置流程
這篇文章主要介紹了Linux環(huán)境下使Nginx服務器支持中文url的配置流程,文中還介紹了一個在Linux下將非UTF-8的文件名轉換為UTF-8編碼,的方法,需要的朋友可以參考下2016-04-04
Nginx端口被占用的解決方案(systemctl restart nginx失敗)
ginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器,它也是一種輕量級的Web服務器,可以作為獨立的服務器部署網站(類似Tomcat),本文給大家介紹了NGINX啟動報錯,端口被占用解決方案,需要的朋友可以參考下2024-10-10

