毒药的BLOG

记录生活,分享快乐,了解技术

Nginx 的 Access Key 模块 的 WP插件 修正版

自己有时间折腾了一个WP插件出来。 特此共享。

PS 新版本修正了 文本匹配和替换问题。

 

功能: 能够生成Nginx中用AccessKey模块保护的文件的授权地址。

目前配置支持设置保护的密码。(暂时没有加参数名字设置。默认为k,可以修改插件php来适应别的环境)

AccessKey模块默认nginx不安装。配置方法见 这里

AccessKey默认配置

location /download {
  accesskey             on;
  accesskey_hashmethod  md5;
  accesskey_arg         "k";
  accesskey_signature   "mypass$remote_addr";
}

然后是插件使用方法。

在编辑器的html模式下输入以下格式

[ACCESS_KEY=url]超链接名字[/ACCESS_KEY]

返回的是超链接
就可以了。

还有一种是直接返回链接地址的文本

[ACCESS_KEY_URL=url]

插件下载

Linux 生成SSL证书 供 nginx使用。

这里说下Linux 系统怎么通过openssl命令生成 证书。

首先执行如下命令生成一个key

openssl genrsa -des3 -out ssl.key 1024

然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。

由于生成时候必须输入密码。你可以输入后 再删掉。

mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key

然后根据这个key文件生成证书请求文件

openssl req -new -key ssl.key -out ssl.csr

以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)

最后根据这2个文件生成crt证书文件

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

如果需要用pfx 可以用以下命令生成

openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx

在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。

ssl on;
ssl_certificate /home/ssl.crt;
ssl_certificate_key /home/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

然后重启nginx就大功告成了

升级nginx了。0.8.53 with accesskey

今天想锻炼下 linxu 编译 所以拿nginx 来试验,结果很成功。

原来环境是lnmp 0.4 一键安装包的。 所以升级nginx 只需要编译后复制执行文件到/usr/local/nginx/sbin 下就可以了。

首先去http://wiki.nginx.org/NginxChs 下载tar包。

然后因为要用到第三方accesskey组件。

http://wiki.nginx.org/HttpAccessKeyModule 下载组件包。 解压放在一个目录下。

最后解压nginx 源码包执行以下命令

./configure --prefix=/usr/local/nginx \
--user=www \
--group=www \
--add-module=/data/nginx/nginx-accesskey-2.0.3 \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_dav_module \
--with-http_secure_link_module

然后把objs里的nginx文件覆盖/usr/local/nginx/sbin 下的文件即可 最后 lnmp stop 再 lnmp start 就可以完成升级了。

使用nginx的accesskey模块来防止盗链

恩 就是想说一下这个应用.

下面是要准备的东西

nginx 源码包 我用的是0.7.67 版本的.

accesskey 源码包 点击这里下载.

然后再ssh里把accesskey的源码解压 例如所有文件被解压在/data/accesskey/ 下.

然后解压nginx源码 在常规./configure 的参数后 添加上 –add-module=/data/accesskey 就可以了

然后就是配置nginx了 这里贴上独立的一段.

        accesskey             on;
        accesskey_hashmethod  md5;
        accesskey_arg         "参数";
        accesskey_signature   "密码$remote_addr";
把上面的参数改成你喜欢的 比如k
密码改成比如123之类的.
单独保存为一个文件 比如 acc.conf;

Continue reading