我正在做一些关于从Apache切换到Nginx作为后端Grails应用程序前面的反向代理的研究.我正在玩一些URL重写,并且遇到了从后端发回的响应的问题.我可以处理位置标题重写,但我想知道处理实际内容的最佳方法是链接等.
Nginx_substitutions_filter是首选方法还是有人用来在响应正文中进行内容替换的另一个模块?
我已经考虑过创建一个Grails插件来处理基于其他请求标题呈现正确的内容,但现在我认为最好在应用程序之外处理,以实现最大的灵活性和松耦合.
有没有关于为反向代理方案进行URL重写/响应后处理的最佳实践的文章?
最佳答案
您可以使用Lua模块捕获响应并像Lua字符串一样操作它.愚蠢的例子到大写输出:
res = ngx.location.capture('/some/path')
ngx.print(string.upper(res.body))