--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subs...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsub...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
public_check.lua local print = print
local get_uri_args = ngx.req.get_uri_args
> 写道:
>Hello!
>
>2013/5/9 刘宏:
>> hello!
>> 由于需要对所有请求的参数进行合法性检查,所以把参数检查的操作放到一个lua文件中作为公共函数调用,文件内容简要如下
>> 1.public_check.lua
>> function new(self)
>> print(get_uri_args()["app_id"])
>> return setmetatable({}, mt)
>> end
>>
>
>你这里的 Lua 模块的定义是错误的。还是因为你没有给出完整的代码?
>
>请在报告问题总是尽量给出能复现问题的完整的代码和配置,并提供你使用的相关软件的版本(包括操作系统),谢谢合作 :)
>
>Best regards,
>-agentzh
>
>--
>--
>邮件来自列表“openresty”,专用于技术讨论!
>订阅: 请发空白邮件到 openresty+subs...@googlegroups.com> 写道:
>Hello!
>
>2013/5/12 刘宏:
>> 我目前用的tengine 1.4.5,里面的ngx_lua应该是0.7.19
>
>你使用最新的 ngx_openresty 1.2.8.1 能复现此问题么?最新的 ngx_lua 版本已经是 0.8.1 了.
>
>值得一提的是,我不会对 Tengine + ngx_lua 出现的问题提供技术支持。
>
>> 经过周末的调试我发现是由于
>> 2.service_1.lua
>> local public= require "public_check"
>> local form, err = public:new()
>> ngx.req.set_header("app_id", app_id)-->这句操作调用导致的,注释掉就不会第二调用的时候出错了。
>>
>> 现在是不知道为什么ngx.req.set_header这个调用会导致第二次以后的请求,在public_check.lua都获取不到ngx.req的值了。
>
>请提供一个最小化的完整示例以及复现问题所需的操作步骤。你提供的代码片段不足以让我在本地复现你看到的问题 :)
>
>Best regards,
>-agentzh
>
>--
>--
>邮件来自列表“openresty”,专用于技术讨论!
>订阅: 请发空白邮件到 openresty...@googlegroups.com
>发言: 请发邮件到 open...@googlegroups.com
>退订: 请发邮件至 openresty+...@googlegroups.comHello!首先感谢在你的百忙中的回复哦,已经用ngx_openresty-1.2.8.3.tar.gz建立一个最小化测试用例,附件是lua文件和配置文件 ,lua文件放在nginx/lua目录下。只要service.lua中有ngx.req.set_header("app_id", "temp")这句调用存在,必然会导致第一次请求以后的所有的请求print(get_uri_args()["app_id"])打印出来的值都是nil
在 2013-05-14 02:45:43,agentzh <age...@gmail.com
> 写道: >Hello! > >2013/5/12 刘宏: >> 我目前用的tengine 1.4.5,里面的ngx_lua应该是0.7.19 > >你使用最新的 ngx_openresty 1.2.8.1 能复现此问题么?最新的 ngx_lua 版本已经是 0.8.1 了. > >值得一提的是,我不会对 Tengine + ngx_lua 出现的问题提供技术支持。 > >> 经过周末的调试我发现是由于 >> 2.service_1.lua >> local public= require "public_check" >> local form, err = public:new() >> ngx.req.set_header("app_id", app_id)-->这句操作调用导致的,注释掉就不会第二调用的时候出错了。 >> >> 现在是不知道为什么ngx.req.set_header这个调用会导致第二次以后的请求,在public_check.lua都获取不到ngx.req的值了。 > >请提供一个最小化的完整示例以及复现问题所需的操作步骤。你提供的代码片段不足以让我在本地复现你看到的问题 :) > >Best regards, >-agentzh > >-- >-- >邮件来自列表“openresty”,专用于技术讨论! >订阅: 请发空白邮件到 openresty+subs...@googlegroups.com >发言: 请发邮件到 open...@googlegroups.com >退订: 请发邮件至 openresty+unsub...@googlegroups.com
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subs...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsub...@googlegroups.com
Best regards,
-agentzh
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
> >> 而且似乎nginx.conf中的underscores_in_headers on;配置对这里无效。 >> > >lua_transform_underscores_in_response_headers >配置指令从名字上就能看到只作用于“响应头”,而你这里分明设置的是“请求头”,因此没有效果也是在情理之中的了 :) > >Best regards, >-agentzh > >-- >-- >邮件来自列表“openresty”,专用于技术讨论! >订阅: 请发空白邮件到 openresty...@googlegroups.com >发言: 请发邮件到 open...@googlegroups.com >退订: 请发邮件至 openresty+...@googlegroups.com