使用lua脚本在nginx上进行灰度流量转发

参考资料

idea+openresty+lua开发环境搭建

OpenResty最佳实践

灰度发布基于cookie分流

从请求中获取值

-- 从请求中获取请求头为 Sec-WebSocket-Protocol 的值
secWebSocketProtocol=ngx.req.get_headers()["Sec-WebSocket-Protocol"]

-- 从 cookie 中获取uid对应的值
uid=ngx.var.cookie_uid

-- 获取我们在 nginx 中定义的变量
-- set $lct "initialD";
location=ngx.var.lct

-- 从请求头中获取来源 ip
ip=headers["X-REAL-IP"] or headers["X_FORWARDED_FOR"] or ngx.var.remote_addr

说明

上一篇:Ubuntu 编译安装 nginx


下一篇:Nginx(三)、http模块的处理流程解析之正向代理