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

Nginx服務器下防盜鏈的方法介紹

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

修改 /usr/local/nginx/conf/nginx.conf 這個配置文件。

找到

 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”設置防盜鏈文件類型,自行修改,每個后綴用“|”符號分開!

第三行:

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

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

第五行:

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

這個圖片是盜鏈返回的圖片,也就是替換盜鏈網站所有盜鏈的圖片。這個圖片要放在沒有設置防盜鏈的網站上,因為防盜鏈的作用,這個圖片如果也放在防盜鏈網站上就會被當作防盜鏈顯示不出來了,盜鏈者的網站所盜鏈圖片會顯示X符號。

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

我們來看第三行:

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

valid_referers 里多了“none blocked”

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

valid_referers *.jannn.com jannn.com;

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

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;

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

第五行:

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

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

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

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

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

這樣,當別人輸入文件下載地址,由于防盜鏈下載的作用就會跳轉到您設置的這個鏈接!

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

平滑重啟nginx:

 /etc/init.d/nginx reload

后面幾種方法:

原文:Nginx防盜鏈詳細解說

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

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

詳見下面的例子

一、針對不同的文件類型
上面那篇文章詳細且經過本人的實踐,卻是可行,網上大都說是

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段,但是其實后面還有

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

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

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 來實現(xiàn)下載文件的防盜鏈

安裝Nginx和nginx-http-access模塊

復制代碼 代碼如下:
#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
#(這是此模塊的一個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 為你下載的目錄。

前臺php產生的下載路徑格式是:

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

NginxHttpAccessKeyModule第三方模塊,實現(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為模塊開關;
accesskey_hashmethod為加密方式MD5或者SHA-1;
accesskey_arg為url中的關鍵字參數(shù);
accesskey_signature為加密值,此處為mypass和訪問IP構成的字符串。
訪問測試腳本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;
?>

訪問第一個download_add_key鏈接可以正常下載,第二個鏈接download_org_path會返回403 Forbidden錯誤。

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

他的運行方式是:如我的download 目錄下有一個 file.zip 的文件。對應的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有關的,這樣就可以避免被盜鏈了。

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

相關文章

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

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

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

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

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

    Nginx配置入門教程

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

    關閉nginx空主機頭 防止nginx空主機頭及惡意域名指向

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

    使用?nginx?搭建代理服務器(正向代理?https?網站)的詳細步驟

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

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

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

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

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

    Nginx配置使用詳解

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

    Nginx 499錯誤問題及解決辦法

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

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

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

最新評論