web-dev-qa-db-ja.com

nzipを構成してgzipリクエストを受け入れるにはどうすればよいですか?

nginx HttpGzipModule を使用してgzipresponsesを実行できることを知っています。それを使用して、nginxがgzip圧縮されたリクエストを処理できるようにすることはできますか?リクエストヘッダーのあるリクエスト:Content-Encoding: gzip

注:Apacheはmod_deflateの助けを借りて、ディレクティブ SetInputFilter DEFLATE でgzip圧縮されたリクエストを処理できます。

関連した

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

17
ma11hew28

Apacheバックエンドの前に座っているnginxサーバーでこれを試したところです。

curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php

自動的に追加されるカール:

Expect: 100-continue

リクエストヘッダーに。

nginxが返送した

HTTP/1.1 100 Continue

応答とカールに続いて、gzip圧縮されたデータを送信します。 nginxはすべてをApacheに戻しましたが、まだ圧縮されており、Content-Encoding:ヘッダーはそのままです。

追加しなかった場合、Content-Encoding: gzipヘッダーとカール、HTTP 100応答がありませんでしたが、他のすべては同じでした。

これはあなたの質問にはまだ答えていませんが、nginxがデフォルトでこれを処理しないか、またはプロキシするときにリクエストの本文を解凍しないことを意味します。私はこれの答えに興味がありますので、後で非プロキシnginxサーバーでそれを試すことができるかどうかを確認します。

おそらく、mod_deflateを使用してこれらのリクエストをApacheバックエンドにプロキシすることで帯域幅の問題を解決できますが、そもそもnginxを選択した理由は無視されます。

5
Ladadadada

この記事を見つけました: Nginxがgzipされたリクエストを解凍する方法

見た目はいいですが、まだ試していません。それが役に立てば幸い。

1
fcamel