ma1*_*w28 20 nginx gzip request
我知道您可以使用nginx HttpGzipModule来 gzip响应。您是否也可以使用它来启用 nginx 处理 gzip 压缩的请求,即具有请求标头的请求:Content-Encoding: gzip?
注意:Apache 借助mod_deflatecan 处理带有指令的 gzip 压缩请求SetInputFilter DEFLATE。
我刚刚在我坐在 Apache 后端前面的 nginx 服务器上尝试了这个。
curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php
Run Code Online (Sandbox Code Playgroud)
curl 自动添加:
Expect: 100-continue
Run Code Online (Sandbox Code Playgroud)
到请求标头。
nginx 发回了一个
HTTP/1.1 100 Continue
Run Code Online (Sandbox Code Playgroud)
response 和 curl 紧接着发送 gzip 压缩的数据。nginx 将整个文件传回 Apache,仍然被压缩并且Content-Encoding:头部仍然完好无损。
如果我没有Content-Encoding: gzip用 curl添加标头,我就不会得到 HTTP 100 响应,但其他一切都是一样的。
这还没有回答你的问题,但它确实意味着 nginx 要么默认不处理这个问题,要么在代理时不解压缩请求的主体。我对这个问题的答案很感兴趣,所以稍后我会看看是否可以在非代理 nginx 服务器上尝试一下。
据推测,您可以通过使用 mod_deflate 将这些请求代理到 Apache 后端来解决带宽问题,但这忽略了您首先选择 nginx 的原因。
| 归档时间: |
|
| 查看次数: |
10256 次 |
| 最近记录: |