当与proxy_pass一起使用时,为什么sub_filter似乎不起作用?


21

给定nginx的以下配置:

server {
    listen  80;
    server_name apilocal;
    sub_filter  "apiupstream/api" "apilocal";
    sub_filter_once off;
    location /people/ {
            proxy_pass  http://apiupstream/api/people/;
            proxy_set_header Accept-Encoding "";
    }
}

Sub_filter不能正确响应部分响应。从配置中删除proxy_pass后,它便可以正常工作。许多遇到此问题的人最终都从上游服务器获得了gzip压缩。我已验证上游服务器的响应未打开gzip编码。但以防万一,我还使用了上面的proxy_set_header来不接受gzip。

我可能还缺少其他东西吗?

Answers:



7

James T Snell在评论中回答了它:

我没有proxy_set_header接受编码“”;您需要告诉后端不允许在响应中进行压缩。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.