nginx はチャンクされたリクエストをうまくサポートしていないようです。しかし、私はより決定的な(そして最新の)答えを得ようとしています。ヘッダーを設定する Java クライアントからサーバーに SOAP 要求を行うクライアントがありますTransfer-Encoding: chunked
。Tomcat で自分のアプリケーションに直接接続すると、すべてうまくいきます。
しかし、それらの間にnginxを配置すると、問題が発生します。
いくつかの詳細を追加するには: 私は CloudFoundry を使用しています。Micro Cloud Foundry を使用して、nginx がなくても期待どおりに動作することを確認しています。しかし、私の要件は cloudfoundry.com を使用することなので、そこで nginx をバイパスすることはできません。
この質問と回答は、これがおそらく私の唯一の回避策であると言っています: http://wiki.nginx.org/NginxHttpChunkinModule。しかし、cloudfoundry.com の構成を変更できないため、その回避策は利用できません。
この質問も似ているように見えますが、実際にはこの要件の逆をカバーしています。チャンクされたリクエストではなく、チャンクされたレスポンスをカバーします。
では、これを回避するためにクライアントに何らかの変更を加えてみてはどうでしょうか? Transfer-Encoding: chunked
と の両方をContent-Length: 123
ヘッダーとして送信することは可能ですか? この領域は私にとっては初めてのことですが、Apache HttpComponents のようなプロジェクトからは、長さまたはチャンクのいずれかを設定し、両方を設定することはないようです。チャンキングのポイントは、リクエストの開始時に長さを知る必要がないことです。クライアントに HTTP/1.0 を使用し、チャンクせずに nginx でうまくプレイするように指示できますか? 私が忘れている他の回避策のアイデアはありますか?