资讯专栏INFORMATION COLUMN

nginx lua重置请求参数及常量备忘

IntMain / 1561人阅读

本文主要讲述一下nginx lua如何重置请求参数以及整理了几类常量。

重置请求参数 获取请求参数
local strider = ngx.var.arg_strider
local strider = ngx.req.get_uri_args["strider"]

当请求uri中有多个同名参数时,ngx.var.arg_xx的做法是取第一个出现的值,ngx.req_get_uri_args["xx"]的做法是返回一个table,该table里存放了该参数的所有值

重置参数
local args = ngx.req.get_uri_args()
args["userId"]="override value"
ngx.req.set_uri_args(args)
log级别常量

ngx.STDERR -- 标准输出

ngx.EMERG -- 紧急报错

ngx.ALERT -- 报警

ngx.CRIT -- 严重,系统故障,触发运维告警系统

ngx.ERR -- 错误,业务不可恢复性错误

ngx.WARN -- 告警,业务中可忽略错误

ngx.NOTICE -- 提醒,业务比较重要信息

ngx.INFO -- 信息,业务琐碎日志信息,包含不同情况判断等

ngx.DEBUG -- 调试

使用实例

ngx.log(ngx.ERR,"error occur in ...")
http status code常量 1xx

ngx.HTTP_CONTINUE (100) (first added in the v0.9.20 release)

ngx.HTTP_SWITCHING_PROTOCOLS (101) (first added in the v0.9.20 release)

2xx

ngx.HTTP_OK (200)

ngx.HTTP_CREATED (201)

ngx.HTTP_ACCEPTED (202) (first added in the v0.9.20 release)

ngx.HTTP_NO_CONTENT (204) (first added in the v0.9.20 release)

ngx.HTTP_PARTIAL_CONTENT (206) (first added in the v0.9.20 release)

3xx

ngx.HTTP_SPECIAL_RESPONSE (300)

ngx.HTTP_MOVED_PERMANENTLY (301)

ngx.HTTP_MOVED_TEMPORARILY (302)

ngx.HTTP_SEE_OTHER (303)

ngx.HTTP_NOT_MODIFIED (304)

ngx.HTTP_TEMPORARY_REDIRECT (307) (first added in the v0.9.20 release)

4xx

ngx.HTTP_BAD_REQUEST (400)

ngx.HTTP_UNAUTHORIZED (401)

ngx.HTTP_PAYMENT_REQUIRED (402) (first added in the v0.9.20 release)

ngx.HTTP_FORBIDDEN (403)

ngx.HTTP_NOT_FOUND (404)

ngx.HTTP_NOT_ALLOWED (405)

ngx.HTTP_NOT_ACCEPTABLE (406) (first added in the v0.9.20 release)

ngx.HTTP_REQUEST_TIMEOUT (408) (first added in the v0.9.20 release)

ngx.HTTP_CONFLICT (409) (first added in the v0.9.20 release)

ngx.HTTP_GONE (410)

ngx.HTTP_UPGRADE_REQUIRED (426) (first added in the v0.9.20 release)

ngx.HTTP_TOO_MANY_REQUESTS (429) (first added in the v0.9.20 release)

ngx.HTTP_CLOSE (444) (first added in the v0.9.20 release)

ngx.HTTP_ILLEGAL (451) (first added in the v0.9.20 release)

5xx

ngx.HTTP_INTERNAL_SERVER_ERROR (500)

ngx.HTTP_METHOD_NOT_IMPLEMENTED (501)

ngx.HTTP_BAD_GATEWAY (502) (first added in the v0.9.20 release)

ngx.HTTP_SERVICE_UNAVAILABLE (503)

ngx.HTTP_GATEWAY_TIMEOUT (504) (first added in the v0.3.1rc38 release)

ngx.HTTP_VERSION_NOT_SUPPORTED (505) (first added in the v0.9.20 release)

ngx.HTTP_INSUFFICIENT_STORAGE (507) (first added in the v0.9.20 release)

主要用来设置http 返回状态码

使用实例

if token == nil then
    ngx.exit(ngx.HTTP_FORBIDDEN)
end
doc

Lua_Nginx_API

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39714.html

相关文章

  • nginx lua api解读

    摘要:对于需要进一步注意的是参数的使用,可以传入所定义的所有的状态码常量如等和两个模块内核常量只支持和这两个,如果传入其他的如等则进程住。 序 本文主要解读下nginx lua module的主要方法和api。 ngx_lua运行阶段 showImg(https://segmentfault.com/img/bVHFqI?w=1005&h=910); initialization phase...

    shery 评论0 收藏0
  • LuaNginx的应用

    摘要:例如响应部分通过的形式获取或设置响应头信息。以某个状态码返回响应内容,状态码常量对应关系见部分,也支持数字形式的状态码。重定向当前请求到新的,响应状态码可选列表为默认。具体内容如下相关文章进入的世界在的应用 首发于 樊浩柏科学院 当 Nginx 标准模块和配置不能灵活地适应系统要求时,就可以考虑使用 Lua 扩展和定制 Nginx 服务。OpenResty 集成了大量精良的 Lua 库...

    Mike617 评论0 收藏0
  • Nginx基本配置备忘

    摘要:基本配置备忘从属于笔者的服务端应用程序入门与实践,更多知识体系参阅我的技术体系结构图。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。配置用户或者组,默认为。 [Nginx基本配置备忘]()从属于笔者的服务端应用程序入门与实践,更多知识体系参阅2016:我的技术体系结构图:Web/ServerSideApplicatio...

    scq000 评论0 收藏0
  • Nginx 配置文件备忘

    摘要:如对于请求,依次尝试按照配置所表示的文件。这里是目录,会继续按照配置查找如等文件。在没有更为精确的匹配符合的情况下,会进入这一配置中,实际上相当于缺省配置。 以下备忘 Nginx 中基础配置的含义。 nginx.conf 在 /etc/nginx 中可以找到 nginx.conf 配置文件,其配置及注释如下: # 运行 Nginx worker 进程的用户群组为 nginx user ...

    wdzgege 评论0 收藏0
  • 由一条OpenResty Error log谈谈ngx.exit与ngx.eof的区别

    摘要:一看果然是在响应发出后报的错,但日志没有反应出报错的具体位置。而我期望的当前请求直接终止,不应该使用而是。自起,执行成功返回,失败则返回和错误描述信息。 事由 我们基于Vanilla开发了一个类似于一个网关的流量分发服务,在原来的业务线上对不同的业务使用不同的后端(PHP、Python、Lua...)进行处理,最近在紧锣密鼓的测试(当然这里咱们主要看问题),在扫荡日志的过程中发现有这样...

    wslongchen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<