Tag Archives

8 Articles

nginx 批量配置同步

0   71485 转为繁体

在编译了lua-nginx-module的nginx上,可以方便地使用shared dict特性,在不reload配置文件的情况下实现配置同步。

由于shared dict使用一块共享内存,因此所有worker均可读写,也就不存在一致性的问题。

使用shared dict

Read More

nginx/openresty的一些记录

28   41237 转为繁体

日志

屏蔽user-agent并屏蔽日志

不屏蔽user-agent(允许其访问),但屏蔽日志

按uri屏蔽日志(可以和上面的按user-agent用同一个变量来同时过滤uri和user-agent)

 

Header

按mime type设置缓存时间

防攻击

简单的无状态cookie challenge(需要lua-nginx-module)

crawlers块中可以手动填写要屏蔽的IP

将其中的s改成随机字符串+时间戳可以变成有状态版本(需使用redis/memcached/shared memory存储生成的随机字符串)

将set-cookie改成通过js生成cookie可以变成javascript challenge,注意要在js里加上浏览器上下文判断,如var cookie=location.protocol?cookie:””; 或者DOM操作

这里有个更高级的输验证码的示例

其他

植入cookie

需要注意的是使用ngx.time()产生秒级的时间,用来做随机数种子可能会冲突,因此建议加上另外的随机变量(如下面的例子用的是客户端的ip) 可以使用ngx.now()产生毫秒精度时间