我知道您可以使用nginx HttpGzipModule来gzip 响应。您还可以使用它来启用nginx来处理gzip压缩的请求,即带有请求标头的请求Content-Encoding: gzip
吗?
注意:Apache在的帮助下,mod_deflate
可以使用指令处理gzip压缩的请求SetInputFilter DEFLATE
。
我知道您可以使用nginx HttpGzipModule来gzip 响应。您还可以使用它来启用nginx来处理gzip压缩的请求,即带有请求标头的请求Content-Encoding: gzip
吗?
注意:Apache在的帮助下,mod_deflate
可以使用指令处理gzip压缩的请求SetInputFilter DEFLATE
。
Answers:
我只是在Apache后端前面的nginx服务器上尝试过此操作。
curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php
curl自动添加:
Expect: 100-continue
到请求标头。
nginx发回了
HTTP/1.1 100 Continue
响应和卷曲,然后发送压缩后的数据。nginx将全部内容传递回Apache,仍然经过压缩,并且Content-Encoding:
标头保持完整。
如果不Content-Encoding: gzip
使用curl 添加标头,则不会获得HTTP 100响应,但其他所有内容都相同。
这还不能回答您的问题,但这确实意味着nginx在默认情况下不处理此问题,或者在代理时不解压缩请求的主体。我对这个答案很感兴趣,所以以后再看看是否可以在非代理的nginx服务器上尝试一下。
大概您可以通过使用mod_deflate将这些请求代理到Apache后端来解决带宽问题,但这忽略了您首先选择nginx的原因。
刚刚找到这篇文章:如何使Nginx解压缩压缩的请求
看起来不错,但我还没有尝试过。希望能帮助到你。
我在Ubuntu 14.04的数字海洋中找到了很好的步骤
很好