添麻烦了,我已经解决了
不是任何ctx的问题。是我在做header_filter_by_lua的时候,没有正确判断参数导致的
我在做string.find (ngx.header.content_type)之前,应该判断content_type是否为nil
如果为空就不做设置,应该是没有判断为nil,导致string.find 失败
抛出异常,导致这个链接被重置(春哥,这个是不是默认策略啊?)
在 2014年9月14日星期日UTC+8上午8时41分55秒,agentzh写道:
Hello!
2014-09-13 11:17 GMT-07:00 郭士禄:
> 我用nginx 做代理过滤
> 在header_filter_by_lua_file 里面
> 做了如下
>
[...]
>
> ngx.ctx.can_filter 是给 body_filter_by_lua 用的
> 但是,但是如果是执行到 ngx.ctx.can_filter =1 这行的时候
> 代理就可能不正常访问,有些网站的链接就会失效
> 我如果注释掉 ngx.ctx.can_filter = 1 ,就一切正常
>
你提供的这些信息过少,无法帮助诊断问题。
请尝试准备一个最小化的独立的例子,以便我可以在我本地比较容易复现你看到的问题。(一般,在准备这样的例子的过程中,我们时常可以发现自己的低级错误,呵呵。)
Regards,
-agentzh