公開日: 2025/1/11Fivenine Design
Plesk + Apache環境で発生する「421 Misdirected Request」エラーの解決方法
PleskApachenginxSSLエラー対処サーバー管理
最近のApacheアップデート後、Plesk環境で「421 Misdirected Request」というエラーが発生するケースが報告されています。 このエラーは日本語での情報が少ないため、今回は原因と解決方法を詳しく解説します。
エラーの症状
このエラーが発生すると、以下のような症状が現れます:
- すべてのWebサイトで「421 Misdirected Request」エラーが表示される
 - ドメインのログ(Plesk > ドメイン > example.com > ログ)に以下のエラーメッセージが記録される:
 
AH02032: Hostname default-203_0_113_2 (default host as no SNI was provided) 
and hostname www.example.com provided via HTTP have no compatible SSL setup
エラーの原因
最新のApacheバージョンでは、CVE(共通脆弱性識別子)に対する修正が含まれており、これがApache + nginxの機能に影響を与えています。
具体的には:
- Apacheがnginxからサーバー名なしのリクエストを処理できなくなった
 - デフォルトでは、nginxはプロキシされたHTTPSサーバーへの接続を確立する際、SNI(Server Name Indication)経由でサーバー名を渡さない
 
この変更により、nginxからApacheへの通信が正しく行われず、421エラーが発生します。
解決方法
この問題を解決するには、nginxの設定にproxy_ssl_server_nameとproxy_ssl_nameディレクティブを追加し、TLS Server Name Indication (SNI)拡張を通じてサーバー名をApacheに渡すように設定する必要があります。
手順
- 
SSHでPleskサーバーに接続
ssh root@your-server-ip - 
以下のスクリプトを実行(変更なしでそのまま実行)
echo -e "proxy_ssl_server_name on;\nproxy_ssl_name \$host;" > /etc/nginx/conf.d/fixssl.conf && service nginx restart 
このコマンドは以下の処理を行います:
/etc/nginx/conf.d/fixssl.confファイルを作成proxy_ssl_server_name on;とproxy_ssl_name $host;を設定- nginxサービスを再起動
 
設定の詳細説明
proxy_ssl_server_name ディレクティブ
このディレクティブをonに設定することで、nginxがプロキシされたHTTPSサーバーへの接続時にSNIを有効にします。
proxy_ssl_name ディレクティブ
$host変数を使用して、実際のホスト名をSNI経由でApacheに渡します。
注意事項
- この修正は一時的な対処法です
 - Plesk開発チームが公式な修正を準備中です(Obsidian 18.0.70および18.0.71向け)
 - 公式アップデートがリリースされたら、適用することをお勧めします
 
まとめ
このエラーは最新のApacheのセキュリティ修正に起因する互換性の問題です。 上記の設定を追加することで、問題を解決できます。 Pleskからの公式修正がリリースされるまでの暫定対応として、この方法を使用してください。
もし問題が解決しない場合は、サーバーのログを詳細に確認し、他の要因がないか調査することをお勧めします。