2011-09-07 4 views
12

私は最近、nginxベースのリバースプロキシを実装しました。NGINXリバースプロキシ:多くのhtmlステータスコード400の応答、なぜですか?

アクセスログをデバッグしているうちに、ステータスコード400の結果がかなり表示されています。

彼らはこのような何かを見て:

[07/Sep/2011:05:49:04 -0700] - "400" 0 "-" "-" "-" 

私たちは、デバッグエラーログを有効にしている、と彼らは通常、このようなものに対応しています。私たちは、バッファ数を上げる試みている

2011/09/07 05:09:28 [info] 5937#0: *30904 client closed prematurely connection while reading client request line 

、いくつかのページで言及したように、私たちはGoogleを立ち上げることができました。無駄に

http://www.ruby-forum.com/topic/173362

または

http://blog.craz8.com/articles/2009/06/17/nginx-400-bad-request-errors-due-to-cookies-and-what-to-do-about-them

どうしてですか?

これは、ストランドnginxリバースプロキシ - > apacheバックエンドサーバです。

わかりましたが、私たちのサイトでのユニークなコンテンツタイプはごくわずかです。私たちは多くのブラウザを使ってこれをテストしましたが、これらの400の結果を個人的に受け取っていません。

ありがとうございます!そのログに類似したエントリを詳述


さらにURLを:

http://blog.rayfoo.info/2009/10/weird-web-server-access-log-entries

+0

最初のログはApacheのログで、2番目のログはnginxですか? – palacsint

+0

ネガティブ。最初はnginxアクセスログで、2番目はnginxエラーログでデバッグを設定します。 –

+1

EC2 Elastic Load Balancerの背後にいますか?彼らの健康診断の一部は、これらをログに頻繁に記録させる。 – Meekohi

答えて

0

まず、それはあなたのクライアントは本当に大きなHTTPヘッダまたはURLでリクエストを送信することを、かなり可能です。古いバージョンのアプリケーションでは未使用のクッキーがいくつか設定されている可能性があり(おそらく大きい)、一部のクライアントはまだそれらを返送しようとしています。

私はヘッダーバッファーを本当に大きな値に設定し、アプリケーション側ではヘッダー/要求のサイズと完全な要求が通常よりも大きい場合にログに記録します。または、チェーンからnginxを完全に取り出し、同じ条件でヘッダ/リクエストを記録します。可能であれば、nginxを400個のエラーが発生したIP /サブネットだけに取り出してください。私はnginxが400のエラーのためのソースIPを記録できると思います。

+0

は、最大ヘッダーサイズを2048kに設定しようとしました。同じ問題が残った。これは非常に頻繁に起こっているので、いくつかのtcpdumpを実行しようとしています...でも、これは非常にアクティブなプロダクションサーバ上にあります。 –

+0

ええええええええええ、2097152バイトであればどんなHTTPリクエストでも十分です。 tcpdumpは良い考えです。あなたが何かを見つけたら教えてください。 – palacsint

1

SSL接続を処理していますか?アクセスログ形式に$ssl_cipher $ssl_protocolを追加できますか?

8

これは、Chromeを使用したことが原因であることが判明しました。データを送信せずに余分な接続を開いているようです。 - 答えは非常に満足はありませんでした提供

http://www.ruby-forum.com/topic/2953545今の質問はそれらについて何をするかです:

はここにいくつかの詳細情報です。

関連する問題