不正な形式の nginx 307 リダイレクト応答ですか?

不正な形式の nginx 307 リダイレクト応答ですか?

私は http から https に 307 リダイレクトする Nginx 構成を持っています。http に接続し、POST リクエストを介してデータを送信する既存のクライアント アプリケーションがあります。クライアントは HttpWebRequest を使用する .Net サービスです。301 リダイレクトを使用するだけでは、リクエストから POST データが削除されます。

ローカル テスト環境では 307 リダイレクトが機能していますが、運用サーバーにデプロイするとリダイレクト メッセージが破損し、クライアントが例外をスローします。

これは私のテスト環境で得られた動作応答です: 307 リダイレクトが機能しています

これが本番環境から得たものです ここに画像の説明を入力してください

パケットの見た目が異なっていることがわかりますが、応答が異なる原因は何でしょうか? nginx のバージョンが古いのでしょうか?

答え1

1.1.16 より前のバージョンの nginx では、307 応答を返すことが適切にサポートされていませんでした。

変更ログの関連部分には次のように記載されています。

Changes with nginx 1.1.16                                        29 Feb 2012

    *) Feature: the "return" and "error_page" directives can now be used to
       return 307 redirections.

本番サーバー(および開発サーバー)を持参することをお勧めします。最新のこの機能が必要な場合、nginx 1.0.5 は現時点では非常に古いです。

関連情報