文档章节

OpenResty之ngx lua API介绍

wangjstu
 wangjstu
发布于 2016/01/03 23:06
字数 255
阅读 211
收藏 5

1.ngx lua学习资源 ngx lua有40多个指令,120多个API,访问链接官网github地址

2.编辑nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        lua_code_cache off;
        location / {
            root   html;
            index  index.html index.htm;
        }
    location /hello {
            content_by_lua_file ngx_lua/hello.lua;
        }
    location /get_random_string {
            content_by_lua_file ngx_lua/get_random_string.lua;
        }
    location /decode_info {
            content_by_lua_file ngx_lua/decode_info.lua;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

3.编辑decode_info.lua文件(/usr/local/openresty/nginx/ngx_lua/decode_info.lua)

local json = require "cjson"

ngx.req.read_body()
local args = ngx.req.get_post_args()

if not args or not args.info then
    ngx.exit(ngx.HTTP_BAD_REQUEST)
end

local client_ip = ngx.var.remote_addr
local user_agent = ngx.req.get_headers()['user-agent'] or ''
local info = ngx.decode_base64(args.info)

local response = {}
response.info = info
response.ip = client_ip
response.user_agent = user_agent

ngx.say(json.encode(response))

4.开启nginx服务,进行测试

curl -i --data 'info=5aW95aW95a2m5Lmg77yM5aSp5aSp5ZCR5LiK' http://127.0.0.1/decode_info

输出:
HTTP/1.1 200 OK
Server: openresty/1.9.7.1
Date: Sun, 03 Jan 2016 14:39:18 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive

{"user_agent":"curl\/7.19.7 (x86_64-redhat-linux-gnu) libcurl\/7.19.7 NSS\/3.19.1 Basic ECC zlib\/1.2.3 libidn\/1.18 libssh2\/1.4.2","info":"好好学习,天天向上","ip":"127.0.0.1"}

5.后话 可以根据API接口进行学习哦...

参考:

  1. https://github.com/openresty/lua-nginx-module#readme
  2. https://www.nginx.com/

© 著作权归作者所有

共有 人打赏支持
wangjstu

wangjstu

粉丝 4
博文 10
码字总数 2053
作品 0
杭州
程序员
在 OSX 上用 openresty 架设自己的 Git Web Service

在 OSX 上用 openresty 架设自己的 Git Web Service 目录 - 介绍- 下载编译安装 openresty- 启动 openresty- 下载编译运行 sockproc 守护进程- 下载安装运行 codea-scm web 服务- 在 iPad 上...

FreeBlues
2015/06/22
0
0
openresty+lua灰度发布的简单实验

如题,本文是笔者使用openresty 和lua脚本实现的简单灰度发布系统,记录下来。 一、安装 参考openresty 官方网站安装openresty即可 建议参考文章https://www.cnblogs.com/zdz8207/p/Nginx-L...

月黑风高杀人夜
08/27
0
0
OpenResty(nginx扩展)实现防cc攻击

OpenResty(nginx扩展)实现防cc攻击 作者:朱 茂海 /分类:Nginx, 服务器安全 /Tag:OpenResty 文章目录 [隐藏] 一、安装依赖 二、luajit安装 三、openresty安装 四、nginx配置 防cc攻击,推荐使...

epiclight
2015/06/05
0
0
打破基于OpenResty的WEB安全防护(CVE-2018-9230)

原文首发于安全客,原文链接:https://www.anquanke.com/post/id/103771 0x00 前言 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及...

bypass
06/04
0
0
OpenResty简介、编译安装

OpenResty,也被称为“ngxopenresty”,是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方的Nginx模块和大部分系统依赖包,用于方便地搭建能够处理超高并发...

justin_peng
07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

精选Spring Boot三十五道必知必会知识点!

Spring Boot、Spring MVC 和 Spring 有什么区别? 1、Spring Spring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。 当我们恰当的使用 DI 或者是 IOC 的时候,...

java知识分子
22分钟前
1
0
docker多容器部署lnmp环境

环境:RHEL7.5 ip:192.168.10.102,主机名:lb02 一、创建web、数据库目录 web网站目录为:/wwwroot,属主属组:www [root@lb02 ~]# mkdir /wwwroot[root@lb02 ~]# useradd -s /sbin/nolo...

人在艹木中
51分钟前
1
0
eclipse运行springboot项目报错‘找不到或无法加载主类’

这是一个很烦躁的问题~,往往困住大家好长时间,然后各种百度。借此,咱将这个问题有可能产生的原因进行一下总结。若有不完善之处欢迎大家在下面留言指出~~ Duang!问题出现 然后开始尝试解决...

Code辉
今天
1
0
springboot oauth2 跨域设置

@Overridepublic void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/security/**") .authentica......

昆虫大侠
今天
1
0
08-利用思维导图梳理JavaSE-泛型

08-利用思维导图梳理JavaSE-泛型 主要内容 1.泛型的基本概念 1.1.定义 1.2.使用前提 1.3.使用泛型的好处 2.泛型的使用 2.1.泛型类定义 2.2.泛型对象定义 2.3.泛型中的构造方法 2.4.泛型方法的...

飞鱼说编程
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部