• 注册
当前位置:代码四四五 > 默认分类 >正文

cloudflare ppt

http://www.slideshare.net/cloudflare/presentations

有多种玩法:

1. 使用 HUP reload 或者 binary upgrade 方式动态加载 nginx 配置或重启 nginx。这不会导致中间有请求被 drop 掉。

2. 当 content_by_lua_file 里使用 nginx 变量时,是可以动态加载新的 Lua 脚本的,不过要记得对 nginx
变量的值进行基本的合法性验证,以免被注入攻击。

比如

location ~ '^/lua/(\w+(?:\/\w+)*)$' {
content_by_lua_file $1;
}

3. 自己从外部数据源(包括文件系统)加载 Lua 源码或字节码,然后使用 loadstring() “eval”进 Lua VM.
可以通过 package.loaded 自己来做缓存,毕竟频繁地加载源码和调用 loadstring(),以及频繁地 JIT
编译还是很昂贵的(类似 lua_code_cache off 的情形)。比如在 CloudFlare 我们从 modsecurity
规则编译出来的 Lua 代码就是通过 KyotoTycoon 动态分发到全球网络中的每一个 nginx 服务器的。无需 reload 或者
binary upgrade.

可以根据自己的实际应用场景进行选择。


免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 162202241@qq.com

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录