1

Web サーバー (Windows サーバー 2003、IIS 6) に POST を送信するユーザーがいます。彼らは私たちの webapp から完全な応答を受け取りますが、IIS も「400 Bad Request」で応答します。他の情報は提供されません (はい、わかりやすいエラーをオフにしています)。

最初は、そこに応答を注入するミドルウェアではないかと思いました。ただし、HTTPSys エラー ログで以下を見つけることができました。これは、サーバーからのものであることを示しています。

2013-08-09 23:36:40 11901 80 HTTP/0.0 未解析 - 400 - BadRequest -

これらのエラーが山積みになっていて、その理由がわかりません。Unparsed は何も教えてくれませんので、これ以上続ける必要はありません。私は彼らにwiresharkトレースを作成してもらうことができました.これは、私たちが実際に完全に正しい応答で応答し、400の悪い要求応答を追加していることを示しています. 私は彼らのリクエストをwiresharkから正確にコピーし、自分のマシンから試してみましたが、もちろん再現できません(有効なレスポンスが1つ返ってきました)。

したがって、「解析されていない」エラーを完全に再現することはできませんが、1 つの要求から 2 つの応答を返すことができました。意図的にリクエスト ヘッダーと本文の間の行末を壊したところ、完全に正しい応答が返され、その後に「Bad Request (Invalid Verb)」が続きました。

2 つの質問

1) HTTPsys ログで「解析されていない」エラーを生成する方法について、何か考えがある人はいますか? これを再現する方法について何か考えはありますか?

2) IIS が単一の要求に 2 つの応答で応答するのはなぜですか? それは正常な動作ですか、それとも構成エラーを示していますか?

このひどい頭痛について助けを提供してくれる人に感謝します!

4

1 に答える 1