421エラー(Misdirected Request)とは?意味をわかりやすく簡単に解説

421エラー(Misdirected Request)とは?意味をわかりやすく簡単に解説

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座


421エラー(Misdirected Request)とは

421エラーはHTTPステータスコードの一種で、クライアントからのリクエストが接続先のサーバーに対して、適切に向けられていない場合に返されるエラーです。このエラーはHTTP/2やHTTP/3などの新しいプロトコルにおいて、複数のホスト名が同一のIPアドレスを共有する環境で発生します。

サーバーは受信したリクエストのホスト名やTLS証明書の情報を確認し、自身が処理できないリクエストであると判断した際に、421エラーを返却します。クライアントはこのエラーを受け取ると、別のコネクションを使用してリクエストを再送信することが推奨されており、適切な接続先への再ルーティングが可能です。

【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」

HTTP/2における421エラーの発生条件

HTTP/2では、コネクションの再利用機能により、一度確立した接続を複数のリクエストで共有することが可能ですが、これが421エラーの主な発生原因となります。サーバーは、接続時に提示されたTLS証明書に含まれていないホスト名へのリクエストを受信した場合、そのリクエストを処理できないと判断します。

発生条件 詳細内容
証明書の不一致 リクエストのホスト名が証明書のSANに含まれない
コネクション再利用 異なるドメインへのリクエストで同一接続を使用
サーバー設定 バーチャルホストの設定と要求が不一致

クライアント側では、このエラーを受信した後、新しいコネクションを確立してリクエストを再試行する必要があり、自動的な再送信処理が実装されていることが一般的です。多くのブラウザやHTTPクライアントライブラリは、421エラーを検出すると透過的に再接続を行うため、エンドユーザーがエラーを意識することは稀となっています。

421エラーのレスポンス実装例

サーバー側で421エラーを返す実装は、使用するWebサーバーソフトウェアプログラミング言語によって異なりますが、基本的な構造は共通しています。レスポンスにはステータスコード421とともに、適切なヘッダー情報を含めることが推奨されており、クライアントが次のアクションを判断できるようにします。

HTTP/2 421 Misdirected Request
Content-Type: text/html; charset=UTF-8
Content-Length: 87



421 Misdirected Request

Request was directed at wrong server

実装時には、サーバーがリクエストのホスト名を検証し、処理可能かどうかを判定するロジックを組み込む必要があります。Nginxではssl_reject_handshakeディレクティブを使用し、Apacheではmod_http2モジュールの設定を調整することで、適切な421エラーレスポンスの生成が実現できます。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する