openresty
orangleliu
快乐编程
展开
-
OpenResty 代理 Google Analytics 并cache 加速访问
GA统计非常灵活,可以定制自己的统计维度,还有API输出。然后呢,它的统计只需要两个请求就可以完成,本身也支持服务器上传统计信息(也允许修改 analytics.js, 虽然不推荐), 继续上次内网服务的统计问题, 这次改成GA统计(我这边国内访问其实也不慢),并且增加 `proxy_cache`。分析总之第一步都是要通过 抓包工具 来查看GA和浏览器的整个通信过程。1 https://www.g原创 2016-11-12 18:26:39 · 1739 阅读 · 0 评论 -
[openresty]安装nginx_lua
这种方式是直接安装openresty ,不是通过重新编译nginxUbuntu 安装安装依赖包$ sudo apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make软连接$ sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.so /usr/lib/原创 2015-04-01 12:08:41 · 3422 阅读 · 0 评论 -
pycrypto 和 lua-resty-rsa 进行跨语言的RSA加密解密.md
最近需要在 OpenResty(Nginx lua) 和 Python 中做RSA的加密和解密操作,客户端是Python的使用 pycrypto 库,而服务端使用 OpenResty 来做解密,使用了德江的 lua-resty-rsa。如果不熟悉2个库的同学可能会遇到一些问题,下面说下遇到问题和简单的示例。主要遇到的问题就是 rsa padding的问题, lua-resty-rsa 默认使用的是原创 2017-05-15 11:09:04 · 7289 阅读 · 1 评论 -
[OpenResty动态] 201705微信群
17年5月 OpenResty 一些动态,主要来自微信群,方面大家检索和查找。OpenResty 新特性enable_privileged_agent院生同学最近给 OpenResty 贡献了 ngx.process 模块,可以开启一个特殊的特权 nginx agent 进程,类似 worker 进程,但不监听虚拟主机的那些端口,同时也继承和 nginx master 进程一样的系统帐号。文档在这原创 2017-05-15 15:08:15 · 2533 阅读 · 0 评论 -
Openresty 动态2017.8
8.27agentzh:Mashape 公司最近赞助了我们 OpenResty Inc 公司把 ngx_stream_lua 模块重写了一遍。现在我们迁移到了 nginx 1.13.3 核心的新的 stream 子系统上面,现在 Lua 驱动的 nginx TCP 服务器也支持 nginx 变量等更多特性了。GitHub 仓库地址是:https://github.com/openresty/stre原创 2017-08-27 09:45:55 · 2481 阅读 · 0 评论 -
OpenResty 限制下载速度
http://blog.donatas.net/blog/2017/07/25/limit-bandwidth-openresty/Nginx 有两个非常棒的模块用来限制响应(responses)的速度limit_rate 对一个客户端限制速率 bytes/每秒limit_rate_after 一般情况没问题,但是视频流传输就不好用了location / { limit_rate翻译 2017-09-01 09:42:45 · 2768 阅读 · 0 评论 -
基于 OpenResty 的二维码生成方案
做一个简单二维码生成API,先找找可用的轮子 lua-resty-QRcode 还有 qrencode 。 下面是安装和测试,第二个方案安装和使用更为简单一些,所以使用 qrencode 方案,可以给有兴趣的朋友一些启发。这两种方案都依赖 libqrencode 还有 libpng , 大概的使用流程是 安装这两个依赖,然后编译上面2个库中的c文件成动态库,openresty中lua调用动态库完成原创 2017-03-22 13:15:33 · 4133 阅读 · 2 评论 -
[OpenResty]使用nginx lua清除proxy cache
分享2篇文章,介绍了nginx proxy cache的原理,以及怎么使用lua做 cache purge, 包括单一url的清除,特别的支持了通配符的purge操作。核心代码 gist url-- Tit Petric, Monotek d.o.o., Tue 03 Jan 2017 06:54:56 PM CET---- Delete nginx cached assets with a原创 2018-01-03 10:20:04 · 3872 阅读 · 2 评论 -
[OpenResty动态] 20180328 沙尘暴
今天沙尘暴很牛 我们团队的泽轩同学最近给 OpenResty 新增了 ngx.resp 这个 Lua FFI 模块的 add_header() 函数,可以像标准的 nginx 配置指令 add_header 那样只追加新的响应头,而不会覆盖已有的响应头。 文档在这里: https://github.com/openresty/lua-resty-core/blob/master/li...原创 2018-03-28 09:57:15 · 887 阅读 · 0 评论 -
openresty+websocket+redis simple chat
openresty 很早就支持websocket了,但是早期的版本cosocket是单工的,处理起来比较麻烦参见邮件列表讨论 websocket chat,后来的版本cosocket是双全工的,就可以按照这个讨论的方案来实现基于websocket的聊天,或者是push程序了,但是网络上没有找到一个具体一点的例子,于是自己写了个simple的例子。1 思路client的websocket连接到ope原创 2016-03-15 17:07:40 · 8465 阅读 · 0 评论 -
利用github webhook 结合openresty自动更新静态博客
使用hexo在github pages上弄了一个静态博客,后来觉得访问有点慢,于是放到自己vps上。对于静态博客的部署非常简单,本来就是html,js,css等静态文件,只要nginx上配置下目录就可以正常访问了。 麻烦的是博客更新的时候,还要去vps上操作更新git pull操作,如果每次在本地commit之后,github仓库能够自动更新到vps上多好啊,于是就用到了webhook的功能。(这原创 2017-01-14 14:18:01 · 1631 阅读 · 0 评论 -
OpenResty修改Nginx默认autoindex页面
Nginx的autoindex 命令可以自动列出目录下的文件,一些网站用这个功能做文件下载,但是Nginx又没有提供这个页面的 自定义的功能,后来看到别人提及 ngx_openresty,才想到 body_filter 阶段可以修改 response 的请求内容,只要进行一些hacking就能完成这个需求啦。Use openresty to modify the page generated by原创 2017-01-02 16:34:32 · 3825 阅读 · 0 评论 -
OpenResty 执行阶段的概念和用途
主要还是 Nginx 的执行阶段知识了,都是因为 OR 才会那么深刻, 它有些自己的阶段。主要还是参照 春哥的 Nginx 教程 请多读几遍,如果不清楚nginx的执行阶段就无法充分利用 openresty 提供的强大功能。罗列从上到下的顺序执行每个阶段。NGX_HTTP_POST_READ_PHASE: #读取请求内容阶段NGX_HTTP_SERVER_REWRITE_PHASE:原创 2017-01-12 01:19:55 · 4891 阅读 · 0 评论 -
OpenResty 自定义 access_log 格式
定义access log的format是 Nginx已经提供的功能,有了 ngx_lua 之后就可以更灵活的记录请求相关的信息,而不仅仅拘泥于 Nginx的内置变量了,可以自定义一些格式和变量来存储结构化的数据,这样做离线的统计更加方面一些。 当然也可以通过or的 cosocket完成日志的实时收集和处理,可以参照 lua-resty-logger-socket 来实现。思路需求是根据当前的请求记原创 2017-01-12 01:25:29 · 5749 阅读 · 0 评论 -
OpenResty 操作cookies
在or中简单的使用cookies 复杂的操作请使用 [lua_resty_cookies](https://github.com/cloudflare/lua-resty-cookie)基本操作获取一个cookies叫做sessionlocal cookie_name = "cookie_session"ngx.say(ngx.var[cookie_name])设置 cookies ng原创 2017-01-12 01:14:29 · 13210 阅读 · 0 评论 -
OpenResty 技能图谱以及学习要点
这是早些时候openresty社区发布的技能图谱,留着备用。下面是文字版本基本概念HTTPTDD (驱动测试开发)RESTful API & API GateWay微服务DSL C10K & C1M非阻塞 & 异步 I/Oevent loopcoroutineStreaming process 流处理I/O mutiplexing (多路I/O技术)Nginxphase (原创 2017-03-04 13:47:03 · 1818 阅读 · 0 评论 -
Openresty 生产布署漏掉 Lua 源文件咋办
以下摘自OpenResty微信群的聊天记录, 中英文中间要有空格,春哥的习惯的确好。怕生产布署漏掉 Lua 源文件,我有一个推荐的办法:即把所有的 Lua 源文件都做成 Lua module 的形式,即可以被 require 加载的形式。然后在 nginx.conf 里面都使用 *_by_lua_block { require("foo").go() } 这样的形式。特别地,在 init_by_l原创 2017-02-25 18:36:09 · 788 阅读 · 0 评论 -
OpenResty代理CNZZ实现内网访问统计
用户在没有进行上网认证之前,只能访问我们的某一台服务器,这台服务有web网页,需要用CNZZ来统计网页的浏览量等。 CNZZ并没有在网关的白名单中,所以需要通过代理完成用户浏览器到cnzz服务器的这段通信。参考google的代理统计方式, 感觉 Openresty代理应该可行,然后就行了一些实验。cnzz 流程调试<script src="http://s11.cnzz.com/z_stat.ph原创 2017-02-25 18:37:38 · 2525 阅读 · 0 评论 -
SSL 证书购买以及Nginx配置相关问题
使用https的网站越来越多了,不仅可以增加网络数据传输的安全性,还行增加搜索引擎的友好度。越来越多的个人站长也开始使用https,我们要赶得上趋势啊。使用https的第一个问题就是要有CA证书,使用免费的,还是收费的?哪种证书比较好?哪家的证书比较便宜?下面是搜集到一些知识,学习和备用。很多付费的证书机构会提供限时的免费证书来体验,免费的其实也很多,基本都有时间上的限制。支持单个域名的最便宜,支原创 2017-02-25 18:47:31 · 3116 阅读 · 0 评论 -
Openresty 反向代理返回非200进行retry到自定义upstream
利用 error_page 指令对反向代理返回的 404, 302... 等状态码,做子请求的二次处理。client -[1]-> nginx proxy <--[2]--> 站点A(返回404,302) |[3] V 站点B (返回200)比如作为CD...原创 2018-04-22 16:37:59 · 3828 阅读 · 0 评论