欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx服務(wù)器下防盜鏈的方法介紹

 更新時(shí)間:2015年07月03日 11:06:12   投稿:goldensun  
這篇文章主要介紹了Nginx服務(wù)器下防盜鏈的方法介紹,主要通過修改服務(wù)器的配置文件來實(shí)現(xiàn),需要的朋友可以參考下

修改 /usr/local/nginx/conf/nginx.conf 這個(gè)配置文件。

找到

 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires   30d;
}[/code] 

修改成:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked *.jannn.com jannn.com;
if($invalid_referer) {
rewrite ^/ http://www.jannn.com/404.jpg;
#return404;
}
expires   30d;
}

第一行:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

其中“gif|jpg|jpeg|png|bmp|swf”設(shè)置防盜鏈文件類型,自行修改,每個(gè)后綴用“|”符號(hào)分開!

第三行:

valid_referers none blocked *.jannn.com jannn.com;

就是白名單,允許文件鏈出的域名白名單,自行修改成您的域名!*.jannn.com這個(gè)指的是子域名,域名與域名之間使用空格隔開!

第五行:

rewrite ^/ http://www.jannn.com/404.jpg;

這個(gè)圖片是盜鏈返回的圖片,也就是替換盜鏈網(wǎng)站所有盜鏈的圖片。這個(gè)圖片要放在沒有設(shè)置防盜鏈的網(wǎng)站上,因?yàn)榉辣I鏈的作用,這個(gè)圖片如果也放在防盜鏈網(wǎng)站上就會(huì)被當(dāng)作防盜鏈顯示不出來了,盜鏈者的網(wǎng)站所盜鏈圖片會(huì)顯示X符號(hào)。

這樣設(shè)置差不多就可以起到防盜鏈作用了,上面說了,這樣并不是徹底地實(shí)現(xiàn)真正意義上的防盜鏈!

我們來看第三行:

valid_referers none blocked *.jannn.com jannn.com;

valid_referers 里多了“none blocked”

我們把“none blocked”刪掉,改成

valid_referers *.jannn.com jannn.com;

nginx徹底地實(shí)現(xiàn)真正意義上的防盜鏈完整的代碼應(yīng)該是這樣的:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers *.jannn.com jannn.com;

if($invalid_referer) {
rewrite ^/ http://www.jannn.com/404.jpg;
#return404;
}
expires   30d;

這樣您在瀏覽器直接輸入圖片地址就不會(huì)再顯示圖片出來了,也不可能會(huì)再右鍵另存什么的。

第五行:

rewrite ^/ http://www.jannn.com/404.jpg;

這個(gè)是給圖片防盜鏈設(shè)置的防盜鏈返回圖片,如果我們是文件需要防盜鏈下載,把第五行:

rewrite ^/ http://www.jannn.com/404.jpg;

改成一個(gè)鏈接,可以是您主站的鏈接,比如把第五行改成小簡博客主頁:

rewrite ^/ http://www.jannn.com;

這樣,當(dāng)別人輸入文件下載地址,由于防盜鏈下載的作用就會(huì)跳轉(zhuǎn)到您設(shè)置的這個(gè)鏈接!

最后,配置文件設(shè)置完成別忘記重啟nginx生效!

平滑重啟nginx:

 /etc/init.d/nginx reload

后面幾種方法:

原文:Nginx防盜鏈詳細(xì)解說

一般常用的方法是在server或者location段中加入!

valid_referers  none blocked www.yiibase.com yiibase.com;

詳見下面的例子

一、針對(duì)不同的文件類型
上面那篇文章詳細(xì)且經(jīng)過本人的實(shí)踐,卻是可行,網(wǎng)上大都說是

location ~* \.(gif|jpg|jpeg|png|bmp|txt|zip|jar|swf)$ {
valid_referers none blocked *.mynginx.com;
if ($invalid_referer) {
rewrite ^/ http://www.mynginx.com/daolian.gif;
#return 403;
}

將這段代碼添加到server段,但是其實(shí)后面還有

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires   30d;
}

必須將這兩段代碼合成為一段,否則,防盜鏈并不會(huì)生效。有點(diǎn)奇怪的是,我開放到防盜鏈開始幾天都是沒出現(xiàn)資金的防盜鏈圖片,過了幾天后才出現(xiàn)的,不知道為什么,知道的也可以告訴我。
二、針對(duì)不同的目錄

location /img/ {
root /data/img/;
valid_referers none blocked *.yiibase.com yiibase.com;
if($invalid_referer) {
rewrite ^/ http://www.yiibase.com/images/error.gif;
#return403;
}
}

以上是nginx自帶的防盜鏈功能。

三、nginx 的第三方模塊ngx_http_accesskey_module 來實(shí)現(xiàn)下載文件的防盜鏈

安裝Nginx和nginx-http-access模塊

復(fù)制代碼 代碼如下:
#tar zxvf nginx-0.7.61.tar.gz
#cd nginx-0.7.61/
#tar xvfz nginx-accesskey-2.0.3.tar.gz
#cd nginx-accesskey-2.0.3
#vi config
#把HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESSKEY_MODULE"
#修改成HTTP_MODULES="$HTTP_MODULESngx_http_accesskey_module
#(這是此模塊的一個(gè)bug)
#./configure --user=www --group=www \
--prefix=/usr/local/nginx --with-http_stub_status_module \
--with-http_ssl_module --add-module=/root/nginx-accesskey-2.0.3
server{
.....
location /download {
accesskey             on;
accesskey_hashmethod  md5;
accesskey_arg         "key";
accesskey_signature   "mypass$remote_addr";
}
}

/download 為你下載的目錄。

前臺(tái)php產(chǎn)生的下載路徑格式是:

1.http://*****.com/download/1.zip?key=<?php echo md5('mypass'.$_SERVER["REMOTE_ADDR"]);?>
這樣,當(dāng)訪問沒有跟參數(shù)一樣時(shí),其他用戶打開時(shí),就出現(xiàn):403

NginxHttpAccessKeyModule第三方模塊,實(shí)現(xiàn)方法如下:

1.下載Nginx HttpAccessKeyModule模塊文件:Nginx-accesskey-2.0.3.tar.gz;

2.解壓此文件后,找到nginx-accesskey-2.0.3下的config文件。編輯此文件:替換其中的"$HTTP_ACCESSKEY_MODULE"為"ngx_http_accesskey_module";

3.用一下參數(shù)重新編譯nginx:

./configure --add-module=path/to/nginx-accesskey

4.修改nginx的conf文件,添加以下幾行:

location /download {
accesskey       on;
accesskey_hashmethod md5;
accesskey_arg     "key";
accesskey_signature  "mypass$remote_addr";
}

其中:
accesskey為模塊開關(guān);
accesskey_hashmethod為加密方式MD5或者SHA-1;
accesskey_arg為url中的關(guān)鍵字參數(shù);
accesskey_signature為加密值,此處為mypass和訪問IP構(gòu)成的字符串。
訪問測試腳本download.php:

<?php
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://www.example.cn/download/G3200507120520LM.rar?key=".$ipkey.">
download_add_key</a>";
$output_org_url="<a href=http://www.example.cn/download
/G3200507120520LM.rar>download_org_path</a>";

echo$output_add_key;
echo$output_org_url;
?>

訪問第一個(gè)download_add_key鏈接可以正常下載,第二個(gè)鏈接download_org_path會(huì)返回403 Forbidden錯(cuò)誤。

如果不怕麻煩,有條件實(shí)現(xiàn)的話,推薦使用Nginx HttpAccessKeyModule這個(gè)東西。

他的運(yùn)行方式是:如我的download 目錄下有一個(gè) file.zip 的文件。對(duì)應(yīng)的URI 是http://www.yiibase.com/download/file.zip
使用ngx_http_accesskey_module 模塊后http://www.yiibase.com/download/file.zip?key=09093abeac094. 只有給定的key值正確了,才能夠下載download目錄下的file.zip。而且 key 值是根據(jù)用戶的IP有關(guān)的,這樣就可以避免被盜鏈了。

據(jù)說Nginx HttpAccessKeyModule現(xiàn)在連迅雷都可以防了,可以嘗試一下。

相關(guān)文章

  • Nginx正向代理與反向代理及配置文件全解析

    Nginx正向代理與反向代理及配置文件全解析

    Nginx是一款高性能的開源Web服務(wù)器和反向代理服務(wù)器,廣泛應(yīng)用于高并發(fā)場景,如靜態(tài)資源托管、負(fù)載均衡、API網(wǎng)關(guān)等,本文給大家介紹Nginx正向代理與反向代理及配置文件全解析,感興趣的朋友一起看看吧
    2025-05-05
  • Nginx 配置跨域的實(shí)現(xiàn)及常見問題解決

    Nginx 配置跨域的實(shí)現(xiàn)及常見問題解決

    本文主要介紹了Nginx 配置跨域的實(shí)現(xiàn)及常見問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • Nginx配置入門教程

    Nginx配置入門教程

    這篇文章主要介紹了Nginx配置入門教程,本文講解了反向代理的概念、初始配置、進(jìn)階配置、負(fù)載均衡配置等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • 關(guān)閉nginx空主機(jī)頭 防止nginx空主機(jī)頭及惡意域名指向

    關(guān)閉nginx空主機(jī)頭 防止nginx空主機(jī)頭及惡意域名指向

    nginx的默認(rèn)配置中的虛擬主機(jī)允許用戶通過IP訪問,或者通過未設(shè)置的域名訪問,比如有人惡意把他自己的域名指向了你的ip,需要的朋友可以參考下
    2016-09-09
  • 使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

    使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

    這篇文章主要介紹了使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)指南的相關(guān)操作,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • nginx、Apache、IIS服務(wù)器解決 413 Request Entity Too Large問題方法匯總

    nginx、Apache、IIS服務(wù)器解決 413 Request Entity Too Large問題方法匯總

    這篇文章主要介紹了nginx、Apache、IIS三種服務(wù)器解決413 Request Entity Too Large問題的方法集合,需要的朋友可以參考下
    2014-05-05
  • 使用Nginx實(shí)現(xiàn)根據(jù) IP 匹配指定 URL

    使用Nginx實(shí)現(xiàn)根據(jù) IP 匹配指定 URL

    最近的一個(gè)項(xiàng)目,需要特定的IP訪問某專題頁面的時(shí)候跳轉(zhuǎn)到網(wǎng)站首頁,思考了下,直接使用NGINX實(shí)現(xiàn),分享給大家。
    2014-09-09
  • Nginx配置使用詳解

    Nginx配置使用詳解

    Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器。本文詳細(xì)講解了Nginx配置使用的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Nginx 499錯(cuò)誤問題及解決辦法

    Nginx 499錯(cuò)誤問題及解決辦法

    Nginx ("engine x") 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器,接下來通過本文給大家介紹Nginx 499錯(cuò)誤問題及解決辦法,一起看看吧
    2016-06-06
  • keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法

    keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法

    這篇文章主要介紹了keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03

最新評(píng)論