openresty怎么做到rewrite后不跳转路由?

想要实现类似以下功能

rewrite ^(.*)$ /public/$1;
proxy_pass http://localhost:8080

先重写路由,然后proxy_pass

由于重写那部分是动态的,想用openresty lua来实现
我用rewrite_by_lua_file,然后ngx.req.set_uri来实现
但是,当第二个参数为false时,会跳转路由;当第二个参数为true时,会无限循环重定向。
奇怪的是,我用redis动态解析,得出需要rewrite的部分,然后set_uri。如果我代码里啥都不干,直接手动set_uri一个值却是不会跳转的,何解?

另外想问一下,在openresty里不用proxy_pass指令,用lua怎么实现?openresty里代理文件又怎么实现?

阅读 3.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进