ホームページ 運用・保守 Nginx Linux サーバーの nginx アクセス ログにある大量の http 400 エラーを解決する方法

Linux サーバーの nginx アクセス ログにある大量の http 400 エラーを解決する方法

May 21, 2023 pm 07:28 PM
linux nginx

Linux服务器nginx访问日志里出现大量http 400错误怎么解决

サーバー内のエラー レコードは次のようになります:

124.65.133.242 – – [27/oct/2014:14:30:51 0800] “- ” 400 0 “-” “-”
124.65.133.242 – – [27/oct/2014:14:31:45 0800] “-” 400 0 “-” “-”
124.65.133.242 – – [ 27/oct/2014:14:31:45 0800] "-" 400 0 "-" "-"
124.65.133.242 – – [27/oct/2014:14:31:45 0800] "-" 400 0 "-" "-"

viewpoint

nginx のログ ファイルを分析したところ、通常のアクセス後に数個の 400 エラーが発生していることがわかりました。 1 ~ 6 回連続して発生する可能性があり、すべての顧客訪問で 400 エラーが生成されるわけではありません。

400 エラーを生成した以前のアクセスを観察するのは正常です。ステータス コード 200、通常のファイル、通常のソース、通常のユーザー エージェント... すべてが調和しているのに、なぜ 400 なのかエラーが発生しますか?どうですか?

注意深く観察した結果、400 エラーを生成した前回の訪問のユーザー エージェントはすべて Google Chrome ブラウザによって残されていることがわかりました。これは、400 エラーが Chrome ブラウザによって生成されたことを意味します。ただし、ローカル パケット キャプチャの後、Chrome が異常なリクエストやデータ パケットをサーバーに送信していないことが判明しました。

パケット キャプチャ分析では、Chrome がサーバーにアクセスするときに複数の接続 (通常は 5 ~ 6 の範囲) を開始したことが判明しました。要求されたリソースがそれほど多くの接続を必要としない場合、Chrome は未使用の接続を閉じます。使用される接続は、プリ接続と呼ばれます。

通常、Web サイトにアクセスすると、最初に HTML マスター ファイルが取得され、Web ページに必要な CSS、JS、画像などの他のメディア リソース ファイルにリンクされます。ファイルとメイン HTML ファイルはドメインの下にあります。事前接続とは、HTML ファイルの取得を待ってからサーバーに接続して他のファイルを取得するのではなく、HTML を取得する前に多数の TCP 接続を確立することを意味します。サーバーの処理には時間がかかるため、このテクノロジーにより Web ページのレンダリングを大幅に高速化できます。

Web ページの HTML リンクのリソースが比較的小さい場合、またはクライアントにキャッシュがありダウンロードに接続する必要がない場合、Web ページによって発行される 5 ~ 6 個の接続のうちの 1 つだけが存在する可能性があります。 Chrome ブラウザが必要ですが、その他のブラウザは閉じる必要があります。これにより、サーバーがリクエストを送信せずに接続されてしまうという問題が発生します。この場合、nginx は 400 エラーとして処理しますが、接続が閉じられているため、エラー メッセージはクライアントに送信されず、ログ ファイルにはエラーが記録されますが、ファイルには何も表示されません。パケットキャプチャ解析の現象です。

テスト
上記の分析結果を確認するのは非常に簡単です。コマンド ライン cmd.exe を開き、そこに telnet serverip 80 を入力し、接続が成功するまで待ちます。この時点で nginx ログ ファイルを確認すると、追加の 400 エラー レコードがあります。

コメント
事前接続の利点はすでに非常に明らかですが、欠点もあります。ウェブマスターがそれを最適化し、Cookie を使用しないテクノロジを使用している場合、または Webページ静的リソースとは異なるサーバーを使用する場合、Web ページに必要な CSS および JS リソースはメイン HTML と同じドメインになく、同じ IP 上にない可能性があります。その場合、事前接続は役に立たないだけでなく、 , しかし、メインの HTML サーバーにも不都合が生じます。必要な負担がかかります。

その他の理由

インターネット上で多くの人が関連記事を書いていますが、そのほとんどの理由は、ヘッダー サイズがサイズを超えて 400 の応答が発生するためです。しかし、実際には、ポートが生きているかどうかを確認するだけのポート テスト ツールのような別の可能性もあります。 lvs などもこの種の問題を引き起こす可能性があり、その場合、大量の 400 エラーがログに表示されます。

上記の問題については、nginx.conf の client_header_buffer_size とlarge_client_header_buffers の両方を増やすことで、この問題を軽減できます。

以上がLinux サーバーの nginx アクセス ログにある大量の http 400 エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? Apr 01, 2025 pm 03:00 PM

WordPressサイトファイルアクセスが制限されています:最近.txtファイルにアクセスできない理由のトラブルシューティング。一部のユーザーは、ミニプログラムのビジネスドメイン名を構成する際に問題に遭遇しました:�...

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? 同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? Apr 01, 2025 pm 03:15 PM

同じシステムで複数のPHPバージョンを同時に実行することは、特に異なるプロジェクトがPHPの異なるバージョンに依存する場合、一般的な要件です。同じようになる方法...

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

セレンでログインした後、404エラーをリダイレクトする理由は何ですか?それを解決する方法は? セレンでログインした後、404エラーをリダイレクトする理由は何ですか?それを解決する方法は? Apr 01, 2025 pm 10:54 PM

シミュレーションログインの場合にシミュレーションログイン後に404エラーをリダイレクトするための解決策は、シミュレーションログインにSeleniumを使用すると、いくつかの困難な問題に遭遇することがよくあります。 �...

PythonインタープリターはLinuxシステムで削除できますか? PythonインタープリターはLinuxシステムで削除できますか? Apr 02, 2025 am 07:00 AM

Linux Systemsに付属するPythonインタープリターを削除する問題に関して、多くのLinuxディストリビューションは、インストール時にPythonインタープリターをプリインストールし、パッケージマネージャーを使用しません...

See all articles