421エラー(Misdirected Request)とは
421エラーはHTTPステータスコードの一種で、クライアントからのリクエストが接続先のサーバーに対して、適切に向けられていない場合に返されるエラーです。このエラーはHTTP/2やHTTP/3などの新しいプロトコルにおいて、複数のホスト名が同一のIPアドレスを共有する環境で発生します。
サーバーは受信したリクエストのホスト名やTLS証明書の情報を確認し、自身が処理できないリクエストであると判断した際に、421エラーを返却します。クライアントはこのエラーを受け取ると、別のコネクションを使用してリクエストを再送信することが推奨されており、適切な接続先への再ルーティングが可能です。
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
<html>
<body>
<h1>421 Misdirected Request</h1>
<p>Request was directed at wrong server</p>
</body>
</html>
実装時には、サーバーがリクエストのホスト名を検証し、処理可能かどうかを判定するロジックを組み込む必要があります。Nginxではssl_reject_handshakeディレクティブを使用し、Apacheではmod_http2モジュールの設定を調整することで、適切な421エラーレスポンスの生成が実現できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
PythonをWebで実行する方法
共通テスト「情報Ⅰ」2年目で変わる、日本の教育と学び方
gitでブランチ(branch)を切り替える方法
git cloneでブランチを指定する方法
64GBのメモリが必要な人・不要な人の特徴
PCを再起動するコマンド一覧
CapsLock以外で大文字になる原因【Windows編】
パソコンで大文字になるのを解除する方法
面白いAIの活用事例を業界別に紹介
Gitでcommit(コミット)を取り消す方法
ITやプログラミングに関するニュース
サイボウズがkintone AIを正式提供、β版から約1年を経てクレジット制を導入
ロゼッタのラクヤクAIがCSRドラフト作成期間を90%以上短縮、従来4週間を約2日に
AI CROSSが不動産業界向け生成AI伴走支援を開始、アスコットの業務AI実装を実践サポート
日本情報クリエイトが「オーナー提案AIロボⅡ」売買査定を刷新、月1万円からW査定が回数無制限に
Wur株式会社がAI新規事業診断サービス「MVP事業診断レポート」をリリース、12の質問で事業構想を約10分で分析
バトンズがM&A専門家向け「AI概要書」β版を提供開始、企業概要書のドラフトを最速3分で自動生成
SCSKが観光DXサービス「Connexia」を開発、首里城公園でNFT活用の周遊促進が始動
Verdent AI発表、エンジニア不要でソフトウェアを構築する「AIエンジニアリングチーム」が登場
ゼネラルBREXAテクノロジーが外食・小売向けAIサービス「aimana」を開発、店長の意思決定をデータで支援
田中組がKencopa工程AIエージェント製品版を先行利用開始、建設現場の工程管理属人化を解消へ
