此模組沒有被包含在Nginx官方安裝包中。
這個模組可以阻止所有URL中未包含合法訪問權杖的訪問(防盜鏈)。 訪問權杖可以由訪問者IP或者其它伺服器變數生成,所以可以很好地控制用戶端的下載行為。
配置實例:
location /download {
&HTTP://www.aliyun.com/zixun/aggregation/37954.html">nbsp; accesskey on;
accesskey_hashmethod md5;
accesskey_arg "key";
accesskey_signature "mypass$remote_addr";
}
使用者得到的下載位址可能像這樣: HTTP://example.com/download/file.zip?key=09093abeac094。
指令
accesskey
語句: accesskey [on|off]
預設: accesskey off
可以用在: main, server, location
開啟 access-key 功能。
accesskey_arg
語句: accesskey_arg "字元"
預設: accesskey "key"
可以用在: main, server, location
URL中包含 access key 的GET參數。
accesskey_hashmethod
語句: accesskey_hashmethod [md5|sha1]
預設: accesskey_hashmethod md5(預設用 md5 加密)
可以用在: main, server, location
用 MD5 還是 SHA1 加密 access key。
accesskey_signature
語句: accesskey_signature "字元"
預設: accesskey_signature "$remote_addr"
可用在: main, server, location
這個值用來生成 access key。 (換句話說就是會用MD5或者SHA1加密這個值)。 加入$remote_addr的原因是讓 access key 與特定的機器聯繫(通過IP位址)。 要注意加入你自己的密文來保護 acccess key,防止被人破解。 (例如"myPassword$remote_addr"。 )
安裝
先在這裡下載模組源碼: File:Nginx-accesskey-2.0.3.tar.gz
解壓,然後編輯 "config" 檔,將 "$HTTP_ACCESSKEY_MODULE" 用 "ngx_HTTP_accesskey_module" 替換。 然後編譯:
./configure --add-module=path/to/nginx-accesskey