下載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找不到頁面。至此安裝完成。