可能是我了解的比较浅
在stream 里面使用 content_by_lua 之后有proxy_pass
http 里面使用 access_by_lua 之后有fastcgi_pass 代理到php
启动sock = ngx.req.socket(true);之后,注意是raw
http块里面会直接无视 之后的*_pass,也就是只能你来返回sock:send
而 stream 里面会直接执行 *_pass,而忽略你输出的sock:send
在stream里面content_by_lua做拦截肯定已经迟了,但是stream没有access_by_lua
有几个问题想问大家
启用 ngx.req.socket(true);之后
1. http里如何做到 可以继续让fastcgi_pass处理呢,因为我可能只是屏蔽一些内容,但是正常内容还是需要*_pass处理的
我知道不使用req.socket肯定是有很多函数是可以处理的,但是req.socket貌似权限很大,自定义返回http结果还是比较好
2. 针对stream,发现根本没办法输出content_by_lua 中内容,而总是走的*_pass,这就有点麻烦了,因为希望某些条件走*_pass 某些直接sock:send返回
有这样的方法吗?