nginx - 后处理 Nginx 反向代理响应的最佳方法

标签 nginx reverse-proxy

我正在研究从 Apache 切换到 Nginx 作为后端 Grails 应用程序前面的反向代理。我正在玩一些 URL 重写并且遇到了从我的后端发回的响应的问题。我可以处理位置 header 重写,但我想知道处理实际内容的最佳方法是链接等。

nginx_substitutions_filter 是首选方法还是人们使用另一个模块在响应正文中进行内容替换?

我曾考虑创建一个 Grails 插件来处理基于附加请求 header 呈现正确的内容,但现在我认为最好在应用程序之外处理,以实现最大的灵 active 和松散耦合。

是否有关于为反向代理场景进行 URL 重写/响应后处理的最佳实践的文章?

最佳答案

您可以使用 Lua 模块来捕获响应并像 Lua 字符串一样对其进行操作。将输出大写的愚蠢示例:

res = ngx.location.capture('/some/path')
ngx.print(string.upper(res.body))

http://wiki.nginx.org/HttpLuaModule#ngx.location.capture

关于nginx - 后处理 Nginx 反向代理响应的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/695630/

相关文章:

ruby-on-rails - 由于 Phusion Passenger 队列阻塞导致 Web 服务负载过重

nginx - 为什么 nginx 提示未知指令?

ssl - 将www。*域添加到certbot证书

nginx - 使用变量时,在 nginx 上重写 URI 不起作用

java - 使用 RewriteRule 的 Tomcat webapp 反向代理

ssl - nginx: [emerg]/etc/nginx/nginx.conf 中的 "ssl"指令中的参数数量无效:70

Nginx-rtmp 模块和 mpeg-dash(Dash 行业 dash.js)

后端节点应用程序(Nginx 反向代理)上的 SSL 证书无效

reverse-proxy - Envoy "http_connection_manager"设置问题

linux - pfSense + HAProxy – 一个内部 IP 上具有多个服务的反向代理