如何配置 nginx 以接受 gzip 请求?

如何配置 nginx 以接受 gzip 请求?

我知道你可以使用nginx HttpGzip模块压缩回应。你也可以使用它来启用 nginx 来处理 gzip 压缩吗要求,即带有以下请求标头的请求:Content-Encoding: gzip

注意:Apachemod_deflate可以使用以下指令处理 gzip 压缩请求SetInputFilter DEFLATE

有关的

http://forum.nginx.org/read.php?11,96472,214266

答案1

我刚刚在位于 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

响应,然后 curl 发送经过 gzip 压缩的数据。nginx 将所有内容传回 Apache,仍然经过压缩并且Content-Encoding:标头完好无损。

如果我没有Content-Encoding: gzip使用 curl 添加标头,我就不会收到 HTTP 100 响应,但其他一切都相同。

这还不能回答您的问题,但它确实意味着 nginx 默认不处理这个问题,或者在代理时不解压请求的主体。我对这个问题的答案很感兴趣,所以我稍后会看看是否可以在非代理 nginx 服务器上尝试一下。

假设您可以通过使用 mod_deflate 将这些请求代理到 Apache 后端来解决带宽问题,但这忽略了您最初选择 nginx 的原因。

答案2

刚刚发现这篇文章:如何让 Nginx 解压经过 gzip 压缩的请求

看起来不错,但我还没有试过。希望有帮助。

答案3

我在数字海洋上找到了很好的步骤Ubuntu 14.04

很好

相关内容