nginx外部模塊編譯安裝之ngx_http_accesskey_module防盜鏈

下載ngx_http_accesskey_module:見附件,把txt 去掉。

tar -zxvf 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_MODULES ngx_http_accesskey_module"
(這是此模塊的一個bug)

編譯安裝:
返回之前編譯安裝的源目錄,在之前編譯安裝命令的基礎上增加--add-module=../nginx-accesskey-2.0.3的目錄.
make
make install

service nginx start

vi /etc/nginx/nginx.conf在server區添加下面內容

location /download {

  accesskey             on;

  accesskey_hashmethod  md5;

  accesskey_arg         "key";

  accesskey_signature   "mypass$remote_addr";
#這裏mypass是自定義的,$remote_addr是客戶端的IP.
#這個地址可以下載文件:http://www.a.com/download/b.file?key=(用md5生成的mypass客戶端IP的密文)就可以下載文件,否則提示找不到頁面。
accesskey爲模塊開關;
accesskey_hashmethod爲加密方式MD5或者SHA-1;
accesskey_arg爲url中的關鍵字參數;
accesskey_signature爲加密值,此處爲mypass和訪問IP構成的字符串。

}
#表示http://www.a.com/download下面的內容是防盜鏈。
在download下新建文件b.file,新建一個download.PHP文件做測試:
vi download.php

<?php
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://10.1.230.215/download/b.file?key=".$ipkey.">download_add_key</a><br />";
$output_org_url="<a href=http://10.1.230.215/download/b.file>download_org_path</a><br />";
echo $output_add_key;
echo $output_org_url;
?>

結果是output_add_key可以下載,而output_org_url會提示404找不到頁面。至此安裝完成。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章