nginx HttpGzipModule を使用してgzipresponsesを実行できることを知っています。それを使用して、nginxがgzip圧縮されたリクエストを処理できるようにすることはできますか?リクエストヘッダーのあるリクエスト:Content-Encoding: gzip
?
注:Apacheはmod_deflate
の助けを借りて、ディレクティブ SetInputFilter DEFLATE
でgzip圧縮されたリクエストを処理できます。
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を選択した理由は無視されます。
この記事を見つけました: Nginxがgzipされたリクエストを解凍する方法
見た目はいいですが、まだ試していません。それが役に立てば幸い。