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


17

nginx HttpGzipModuleを使用して応答をgzip できることを知っています。これを使用して、nginxがgzipで圧縮されたリクエスト、つまりリクエストヘッダーを持つリクエストを処理できるようにすることができますContent-Encoding: gzipか?

注:Apacheはmod_deflate、ディレクティブを使用してgzipで圧縮されたリクエストを処理できますSetInputFilter DEFLATE

関連する

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

回答:


5

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

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

Content-Encoding: gzipcurl を使用してヘッダーを追加しなかった場合、HTTP 100応答を取得できませんでしたが、他のすべては同じでした。

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

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


ありがとう。非プロキシnginxサーバーで試しましたか?
ma11hew28

1

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

それはよさそうですが、私はまだ試していません。それが役に立てば幸い。


1
これは理論的には質問に答える可能性がありますが、他の人がそれが何であり、なぜそこにあるのかをある程度理解できるように、リンクに関するコンテキスト提供してください。可能であれば、ターゲットサイトに到達できないか、完全にオフラインになる場合に、重要なリンクの最も関連性の高い部分を要約または引用します。
HBruijn

-1

Ubuntu 14.04のデジタルオーシャンで良い手順を見つけました

それは良いです


1
こんにちは、リンクのみの回答は時間とともに死ぬ傾向があります。ステップを投稿して引用し、そこへのリンクを作成することをお勧めします。ありがとう!
yagmoth555-GoFundMeモニカ

間違ったリンクを書く前に。これで正しいリンクが更新されました。
バスデヴァクリシュナン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.