Nginx 替换来自代理的压缩响应中的文本
我想替换来自上游HTTP服务器的部分响应体,我正在使用Ngninx反向代理 有Nginx 替换来自代理的压缩响应中的文本,nginx,gzip,reverse-proxy,Nginx,Gzip,Reverse Proxy,我想替换来自上游HTTP服务器的部分响应体,我正在使用Ngninx反向代理 有sub_filter指令,但问题出在这里 本模块仅适用于纯文本。如果响应被压缩,它将无法解压缩响应并忽略此响应。该模块可以与gzip过滤模块兼容。但它不能用于代理压缩响应。您可以禁用压缩响应,如下所示: proxy_set_header接受编码“” 嗯 有没有其他方法可以让我在不丢失上游压缩的情况下修改代理内容?我们的案例也有类似的问题,我们使用了“gunzip”来自ngnix的模块,它帮助我们解压缩压缩响应并根据要求
sub_filter
指令,但问题出在这里
本模块仅适用于纯文本。如果响应被压缩,它将无法解压缩响应并忽略此响应。该模块可以与gzip过滤模块兼容。但它不能用于代理压缩响应。您可以禁用压缩响应,如下所示:
proxy_set_header接受编码“”代码>
嗯
有没有其他方法可以让我在不丢失上游压缩的情况下修改代理内容?我们的案例也有类似的问题,我们使用了“gunzip”来自ngnix的模块,它帮助我们解压缩压缩响应并根据要求更新响应。这是一种标准配置,用于禁用上游压缩并在中压缩Nginx@Dayo对。我的问题是,是否可以不禁用上游压缩,即解压缩、替换、压缩。可能需要在Nginx和上游之间使用另一个web服务器/代理/脚本来实现这一点。如果您了解perl,那么应该可以使用ngx_perl模块截取、解压缩、替换和压缩数据。ngx_lua模块也应该能够处理此问题。但我不相信您会找到现成的解决方案。请参阅使用ngx_lua的尝试: