404 Not Found Nginx エラーを修正する方法

404 Not Found Nginx エラーを修正する方法

Web 所有者として、読者が Web サイトを閲覧しているときに常に 404 Not Found が表示されることを懸念していますか? これは特に強調する必要はありません。これは、「申し訳ありませんが、この Web ページまたはファイルはサーバー上で利用できません」を意味する HTTP ステータス コードです。

このブログ投稿は、このエラーとその発生理由を理解するのに役立ちます。また、404 Not Found Nginx エラーを修正および防止する手順も示します。

Nginx 404 Not Foundエラーとは何ですか?

404 Not Foundエラーは、Nginx サーバーが探している特定の Web リソースを見つけることができなかったことを示す一般的な HTTP ステータス コードです。

「HTTP エラー 404」、「ページが見つかりません」、「見つかりません」、「エラー 404」など、さまざまなバリエーションがあります。これらの用語はすべて同じものを指します。つまり、ソース項目が欠落しています。

このステータス コードは、大騒ぎする必要のあるエラーではありません。考えられる理由の 1 つは、あなたまたはあなたの同僚がサーバーからリソースを意図的に削除した可能性があります。このような場合は、404 Not Found ステータスをそのままにしておいても問題ありません。

ただし、そうでない場合は、Nginx でのこのエラーの次の原因を確認してください。

Nginx で 404 Not Found エラーが発生するのはなぜですか?

理由のいくつかを以下に示します。

  • 間違った URL : URL にタイプミスをした場合、または壊れたリンクをたどった場合。
  • 移動された Web ページ: 要求された Web ページまたはファイルはサーバー上の新しい場所に移動されます。
  • サーバーの設定ミス: Nginx 設定が正しくないために、このエラーが発生する可能性があります。
  • 不正なファイル権限: 不適切な権限を持つサーバー上でファイルまたはディレクトリを検索すると、このエラーが発生する可能性があります。
  • ファイル名の大文字と小文字の区別: Nginx では、ファイル名とディレクトリ名に関して大文字と小文字が区別されます。「page.html」ではなく「Page.html」を検索すると、404 エラーが発生する可能性があります。
  • 間違ったルート ディレクトリ: Nginx 構成ファイル内のルートディレクティブは、リクエスト ファイルを提供するディレクトリを指定します。設定が間違っていると、サーバーがルート ディレクティブにアクセスできず、「見つかりません」エラーが発生することを意味します。
  • インデックス ファイルの間違った場所: ドキュメント ルート ディレクトリ内のインデックス ファイル (index.html または Index.php) の構成が間違っていると、エラーが発生する可能性があります。

404 Not Found Nginxエラーを修正

Nginx サーバーでこのエラーを修正するために実行できる手順をいくつか示します。

1. URLを確認する

検索している URL に誤字がないか再確認し、その内容が正しいことを確認してください。また、埋め込みリンクを扱う場合は、タイプミスやリンク切れがないか確認してください。

2. ファイル名の大文字と小文字の区別の問題を確認する

大文字小文字と拡張子が正確な正しいファイル名を検索しているかどうかを確認する必要があります。単一文字の大文字と小文字の違いがこの 404 エラーを引き起こす可能性があります。

3. ファイルの場所を確認する

ファイルが見つからないか、間違った場所にあるかどうかを確認できます。探しているファイルがあるサーバー内のディレクトリに移動します。ファイルが存在しない場合は、エラーの原因が判明しています。これを修正するには、ファイルを目的の場所に移動するか、構成ファイル内のファイル パスを更新します。

4. ファイルのアクセス許可と所有権を確認する

ファイルの場所が原因ではない場合は、ファイルのアクセス許可と所有権を確認する必要があります。Nginx がファイルにアクセスするために必要な権限を持っていない場合、ファイルを公開することはできません。

現在のファイルのアクセス許可と所有権を表示するには、次のコマンドを使用lsできます。

ファイル権限に問題が見つかった場合は、chmod コマンドを使用して、ファイルに適切な読み取り権限または実行権限を割り当てます。ただし、問題が所有権にある場合は、chown コマンドを使用して問題を修正できます。

5. サーバー構成

404 Not Found エラーが解決しない場合は、サーバーの構成ミスが原因である可能性があります。これを解決するには、設定ファイル ( nginx.conf ) を開きます。このファイルは通常「/usr/local/nginx/conf」、「/etc/nginx」、または「/usr/local/etc/nginx」にあります。

構成ファイルを開いた後、具体的には以下を探します。

  • 間違ったサーバー ブロック: サーバー ブロックは、特定のドメイン名または IP に対するリクエストを処理する方法を Nginx に指示します。設定ミスを探して修正します。
  • 間違ったロケーション ブロック: ロケーション ブロックは、サーバー上の特定のパスに対するリクエストを処理する役割を果たします。すべてのロケーション ブロックが正しく構成されていることを確認してください。
  • 間違ったルート ディレクティブ: ルート ディレクティブは、各サーバー ブロックがルート ディレクトリのパスを定義する役割を果たします。正確に構成されていることを確認する必要があります。
  • ディレクティブがありません: 構成ファイルには必要なディレクティブが多数あります。適切に動作するように、必要なディレクティブをすべて組み込んでください。

構成ファイルに必要な変更を加えた後、Nginx サーバーを再起動する必要があります。

Nginx サーバーの構成ミスが原因でエラーが発生した場合は、この修正により問題が正常に戻ります。

6. 書き換えルール

エラーが依然として頑固な場合は、リクエストをリソースにリダイレクトする役割を担う書き換えルールに問題がある可能性があります。疑念を確かめるために、書き換えルールを使用せずにソースマテリアルに一時的にアクセスしてみてください。

これを行うには、構成ファイル内の「 rewrite」ディレクティブと「location 」ディレクティブをコメントアウトします。

次に、Nginx サーバーを再起動し、目的のリソースを再度見つけます。これらが根本原因である場合は、Nginx 構成の書き換えルールを確認し、正しく構成されていることを確認してください。

7. ログを調査する

何も問題が解決しない場合は、サーバーのログを調査して、何が問題になったのかを監視し、修正することができます。Nginxのエラーログは通常「/var/log/nginx/error.log」にあります。

Nginx 404 Not Foundエラーを防ぐ

エラーを修正した後は、今後このエラーが発生しないように対策を講じる必要があります。

  • サーバーを定期的に監査して、404 Not Found などの潜在的なエラーを検出して防止する必要があります。
  • また、Nginx サーバーの稼働時間とパフォーマンスを監視するには、さまざまな監視ツールを使用する必要があります。これらのツールは、問題が発生したときに対処するのに役立ちます。
  • サーバー全体に適切な URL 構造を組み込む必要があります。古い URL や壊れた URL には301 永久リダイレクトを使用するとよいでしょう。
  • 問題を回避するには、変更をコミットする前にサーバーの構成をバックアップすることをお勧めします。
  • さらに、ファイルまたはディレクトリの命名規則を確立すると、正しいファイル名を覚えやすくなり、命名ミスによるこのエラーを回避できます。
  • あなたまたは他の人が将来このエラーに遭遇した場合に備えて表示する個人用ページを作成します。このページはより良いユーザーエクスペリエンスを提供します。

Nginx サーバーの追加セキュリティ

Nginx 404 Not Found エラーを解決したので、Web サーバーのセキュリティを検討する時期が来ました。これは、 DDoS 攻撃などの潜在的なリスクから保護するのに役立ちます。DDoS 攻撃により、Nginx サーバーの機能が混乱し、視聴者が利用できなくなる可能性があります。

画像クレジット: DepositPhotos によるエラー 404。すべてのスクリーンショットは Danish Ghafoor によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です