Getting proxy_pass to work with sub_filter

Maxim Dounin mdounin at mdounin.ru
Wed Aug 8 10:40:58 UTC 2012


Hello!

On Tue, Aug 07, 2012 at 04:33:57PM -0400, Joesep Kilsal wrote:

> Hello, I'm trying to have nginx proxy for apache while trying to utilize
> sub_filter.
> 
> My default.conf block with the modules listed above looks like this:
> 
> server {
>           location / {
>           proxy_pass                             http://127.0.0.1:8080;
>           proxy_set_header Host            $host;
>           proxy_set_header X-Real-IP     $remote_addr;
>           sub_filter_once                        on;
>           sub_filter '</body>' '<p>filter test12345</p></body>';
>           }
> }
> 
> With this, I can remove either the proxy_pass line or the sub_filter line
> and
> the other will work. It seems to only stop working when I try to have both
> active at the same time. I did have a look around regarding this issue and
> have
> disabled gzip, but to no avail. Does anyone have any insight towards this
> issue?

Most often this question is asked when gzip is enabled on a 
backend host, and hence nginx sess gzipped content which it can't 
change.  Where you tried to disable gzip?  Correct thing to do is 
to disable gzip on a backend.  Alternatively, you may do

   proxy_set_header Accept-Encoding "";

on nginx side.  This will inform backend that content encodings 
aren't acceptable and will effectively disable gzip on a backend 
as well.

Maxim Dounin



More information about the nginx mailing list