• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > rewrite_by_lua更改变量值,对应nginx变量值无变化

rewrite_by_lua更改变量值,对应nginx变量值无变化

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了nginx rewrite,nginx rewrite规则,nginx rewrite配置,nginx rewrite php,nginx rewrite 404等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: rewrite_by_lua更改变量值,对应nginx变量值无变化
描述:

问题:
我想用ngx_lua做一个动态接口的缓存,客户端选用的方式为POST。
首先我要拿到POST过来的body内容,然后赋值给nginx的一个自定义变量去做相应动作。
但是现在nginx变量和lua脚本中的变量不同步。
请问该如何解决?


    location ~* \.(do|action|jsp) {
        lua_code_cache off;
        set $json 1;
        rewrite_by_lua '
            local request_method = ngx.var.request_method
                if request_method == "POST" then
                    ngx.req.read_body()
                    local value = ngx.req.get_post_args()["data"] or 0
                    ngx.var.json = value
                end;';
        if ($json != 1) {
            return 302;
        }
    }

下面是测试结果:

[root@localhost extra]# curl -d 'data={"appType":1,"msg":"{\"type\":\"0\"}","msgId":"8608320379583571473667378628","msgVersion":"3.1","type":"HOMEPAGE3_1","uId":"120351"}' http://192.168.9.181/api/msgHandler.action
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.7.8</center>
</body>
</html>

更改代码为:

if ($json != 1) {
    return 302;
}

就会正常返回我指定的302

[root@localhost extra]# curl -d 'data={"appType":1,"msg":"{\"type\":\"0\"}","msgId":"8608320379583571473667378628","msgVersion":"3.1","type":"HOMEPAGE3_1","uId":"120351"}' http://192.168.9.181/api/msgHandler.action
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx/1.7.8</center>
</body>
</html>

描述完了,希望大神们能看懂我的问题和描述,帮忙解答一下,小弟感激不尽。


解决方案1:

把  set $json 1;
改成  set $json ‘’;

这样是可以的,根本原因有待进一步挖掘。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • rewrite_by_lua更改变量值,对应nginx变量值无变化

相关文章

  • 2017-06-05 关于分组交换中的报文长度的问题
  • 2017-06-05 求助,对我的工作单片机开发的前途很迷茫,望大神指点
  • 2017-06-05 求一段简单代码:对pci卡进行操作?(如configurationregister和memoryregister)
  • 2017-06-05 如何把驱动程序文件打包成方便使用的安装文件呢?!
  • 2017-06-05 求tornado/vxworks软件找了好久没有找到,想学嵌入式开发了,请帮忙
  • 2017-06-05 OSX中如何移除Chameleonbootloader?
  • 2017-06-05 求助:arm-elf-ld链接问题???
  • 2017-06-05 为什么DDK中的头文件编译通不过?
  • 2017-06-05 『高分』如何编写一个vfw接口的虚拟摄像头驱动,
  • 2017-06-05 opencv怎么移植到wince中

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • LPC4337IAP在线升级问题。
    • 想为FlashRom开发一个FlashFileSystem,提供良好的API接口参考ANSIC中的I/O
    • tiny4412自己做的底板
    • rewrite_by_lua更改变量值,对应nginx变量值无变化
    • 面向对象的C++软件设计出国与就业指导班6/1~6/4
    • 我怎么发不了贴字阿,发完之后老是找不到阿,谁能帮我?
    • 电表用的USB是OTG是host接口,主要功能是U盘读取数据记录还是现场iap升级
    • 请教正在嵌入式业内的专家,一个33岁的人,学习嵌入式会不会太晚了?为谋生计
    • 求解都可能有哪些原因能让MCU自动复位或类似自动复位?
    • 本人最近在做驱动(ds),希望能同大家交流心得。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有