对Nginx没有Gzip支持

我需要在某些情况下禁用gzip,而不pipe客户端的Accept-*请求头。

我的Nginx的conf入口有以下指令:

 gzip off; more_clear_input_headers -t 'text/html' Accept Accept-Encoding; proxy_set_header Accept ""; proxy_set_header Accept-Encoding ""; 

但是,下面的curl:

 curl '$URL' -H 'Pragma: no-cache' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: en-US,en;q=0.8,he;q=0.6' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: no-cache' -H 'Cookie: "$COOKIE"' -H 'Connection: keep-alive' -v > /dev/null 

结果与:

 < HTTP/1.1 200 OK < Cache-Control: no-cache, no-store, private < Content-Encoding: gzip < Content-Type: text/html;charset=utf-8 < Date: Thu, 01 Sep 2016 07:13:30 GMT < Expires: -1 < Server: Reblaze Secure Web Gateway < Set-Cookie: ... < Set-Cookie: ... < Set-Cookie: ... < Set-Cookie: ... < Set-Cookie: ... < Set-Cookie: ... < Set-Cookie: ... < Vary: User-Agent < Content-Length: 55455 < Connection: keep-alive 

请注意,响应服务器由此Nginx代理。

显然,这不是一个Nginx的“不当行为”,而是一个代理设备,在这种情况下,F5 BigIP被configuration为压缩响应,而不pipe请求头,只要用户代理头匹配某些模式。