ngx_xxtea 模块发布

  就如其名,这是一个基于 XXTEA 加密算法实现的 NGINX 模块。至于用途,我也不知道。我是用在 URL 防盗方面的(隐藏真实地址)

安装:

configure –add-module=../ngx_xxtea-1.0

配置:

#加密方法,其中 content 和 key 支持 nginx 内部变量
set xxtea_data “aaa”;
set xxtea_key “123″;
set $var1 $xxtea_encrypto;

#解密方法,其中 q+tThwMc2vg= 是需解密的内容
set xxtea_data “q+tThwMc2vg=”;
set xxtea_key “123″;
set $var1 $xxtea_decrypto;

场景:

  我需要对 http://a.com/*.url 下的所有图片资源进行防盗处理,我会在调用页面上使用 php 对这些 url 进行加密。如:

xxtea_encode($URI, $REMOTE_ADDR); // 使用用户的客户端IP,当然你也可以用 COOKIE

  这样页面上所有的图片请求,都应该是:http://a.com/e/q+tThwMc2vg= 类的地址(注意别对 URI 进行 encode)。并且该地址是通过客户端IP进行加密的,也就是说其他人无法使用这个地址。

配置 NGINX 对这类地址进行解密操作:

location /e {
if ( $request_uri ~* “/e/(.*)$”)
{
set $xxtea_data $1;
set $xxtea_key $remote_addr;
rewrite (.*) $xxtea_decrypto;
}
}

  ngx_xxtea 模块 下载地址 (.tar.gz) 压缩包中包含 PHP XXTEA 方法

  另外,章哥也有一个类似功能的模块,地址:https://github.com/agentzh/encrypted-session-nginx-module ,大家按需求选择 :)